V tomto tutoriálu zjistíte, jak přizpůsobit polynomiální křivky pomocí funkce polyfit() MATLABu.
Jak kódovat polyfit() v MATLABu?
Kódovat polyfit() v MATLABu musíte nejprve postupovat podle níže uvedené syntaxe:
p = polyfit ( x, y, n )
[ p,S ] = polyfit ( x, y, n )
[ p,S,mu ] = polyfit ( x, y, n )
Výše uvedená syntaxe může být popsána jako:
- p = polyfit(x,y,n) : poskytuje koeficienty polynomu stupně n p(x), který nejlépe odpovídá datům v y z hlediska nejmenších čtverců. Koeficienty do p jsou uspořádány sestupně a mají délku n+1.
- [p,S] = polyfit(x,y,n) : vytváří strukturu S, kterou lze použít jako vstup v polyvalu pro získání odhadů chyb.
- [ p , S , mu ] = polyfit ( x , y , n ) : dává mu, dvouprvkový vektor s hodnotami pro změnu měřítka a centrování. Mu(1) je průměr (x), zatímco mu(2) je std(x). Pomocí těchto nastavení polyfit() měřítko x tak, aby mělo jednotkovou směrodatnou odchylku, kde x vycentruje na nulu.
Podívejme se na několik příkladů, které demonstrují použití MATLABu polyfit() funkce.
Příklad 1
V uvedeném příkladu nejprve vygenerujeme vektor x s 10 rovnoměrně rozmístěnými prvky ležícími v intervalu (10, 20). Potom najdeme hodnoty y odpovídající všem hodnotám x pomocí goniometrické funkce cos(x). Poté, polyfit() Funkce se používá k uložení polynomu 6. stupně do datových bodů. Nakonec vyneseme výsledky vyhodnocení polynomu s jemnější mřížkou.
x = řádkový prostor ( 10 ,pi, dvacet ) ;
y = cos ( X ) ;
p = polyfit ( x,y, 6 ) ;
x_1 = řádkový prostor ( 10 ,pí ) ;
y_1 = polyval ( p,x_1 ) ;
postava
spiknutí ( x,y, 'Ó' )
vydrž
spiknutí ( x_1, y_1 )
zdržet se
Příklad 2
Tento příklad používá polyfit() funkce pro přizpůsobení jednoduchého lineárního regresního modelu do sady s 2-D diskrétními datovými body. V tomto kódu je generována sada datových bodů s hodnotami x v rozmezí od 2 do 100 s krokem 2. Odpovídající hodnoty y se vypočítají odečtením náhodného šumu od lineární funkce x. The polyfit() Funkce se pak použije k přizpůsobení lineárního polynomu datům, čímž se získají koeficienty p. Proložený polynom se vyhodnotí pomocí polyval() a vynese se spolu s původními datovými body pomocí spiknutí() funkce.
x = 2 : 2 : 100 ;
y = x - 5 * randn ( 1 , padesáti ) ;
p = polyfit ( x,y, 1 ) ;
f = polyval ( p,x ) ;
spiknutí ( x,y, 'Ó' ,x,f, '-' )
legenda ( 'data' , 'lineární fit' )
Závěr
MATLAB polyfit() funkce se používá pro prokládání polynomiální křivky. Tato funkce bere jako argumenty dva vektory a stupeň polynomu a vykresluje získané výsledky. Tento tutoriál poskytl některé užitečné informace o tom, jak kódovat a polyfit() funkce v MATLABu s několika užitečnými příklady, které začátečníkům pomohou pochopit použití této funkce.