Tässä opetusohjelmassa opit sovittamaan polynomikäyrät MATLABin polyfit()-funktiolla.
Kuinka koodataan polyfit() MATLABissa?
Koodaamaan polyfit() MATLABissa sinun on ensin noudatettava alla annettua syntaksia:
p = polyfit ( x,y,n )
[ p,S ] = polyfit ( x,y,n )
[ p,S,mu ] = polyfit ( x,y,n )
Yllä oleva syntaksi voidaan kuvata seuraavasti:
- p = polyfit(x,y,n) : tarjoaa n-asteen polynomin p(x) kertoimet, joka sopii parhaiten y:n dataan pienimmän neliösumman suhteen. P:n kertoimet on järjestetty laskeviin potenssiin ja niiden pituus on n+1.
- [p,S] = polyfit(x,y,n) : tuottaa rakenteen S, jota voidaan käyttää syötteenä polyvalissa virheestimaattien saamiseksi.
- [ p , S , mu ] = polyfit ( x , y , n ) : tuottaa mu:n, kaksielementtisen vektorin, jolla on arvot skaalausta ja keskitystä varten. mu(1) on keskiarvo(x), kun taas mu(2) on std(x). Käyttämällä näitä asetuksia, polyfit() skaalaa x:n yksikkökeskihajonnan, jossa se keskittää x:n nollaan.
Tarkastellaan joitain esimerkkejä, jotka osoittavat MATLABin käytön polyfit() toiminto.
Esimerkki 1
Esitetyssä esimerkissä generoidaan ensin vektori x, jossa on 10 yhtä välimatkaa olevaa elementtiä välissä (10, 20). Sitten löydämme y:n arvot, jotka vastaavat kaikkia x:n arvoja trigonometrisen funktion cos(x) avulla. Sen jälkeen, polyfit() funktiota käytetään sovittamaan 6. asteen polynomi datapisteisiin. Lopuksi piirrämme polynomiarvioinnin tulokset hienommalla ruudukolla.
x = linspace ( 10 ,pi, kaksikymmentä ) ;
y = cos ( x ) ;
p = polyfit ( x,y, 6 ) ;
x_1 = riviväli ( 10 ,pi ) ;
y_1 = polyvali ( p,x_1 ) ;
kuva
juoni ( x,y, 'o' )
pidä kiinni
juoni ( x_1,y_1 )
pitää loitolla
Esimerkki 2
Tässä esimerkissä käytetään polyfit() funktio sovittaa yksinkertaisen lineaarisen regressiomallin joukkoon, jossa on 2-D diskreetit datapisteet. Tässä koodissa generoidaan joukko datapisteitä, joiden x-arvot vaihtelevat välillä 2 - 100 askeleella 2. Vastaavat y-arvot lasketaan vähentämällä satunnainen kohina x:n lineaarisesta funktiosta. The polyfit() funktiota käytetään sitten sovittamaan dataan lineaarinen polynomi, jolloin saadaan kertoimet p. Sovitettu polynomi arvioidaan käyttämällä polyval() ja piirretään yhdessä alkuperäisten datapisteiden kanssa käyttämällä juoni () toiminto.
x = 2 : 2 : 100 ;
y = x - 5 * randn ( 1 , viisikymmentä ) ;
p = polyfit ( x,y, 1 ) ;
f = polyvaali ( p,x ) ;
juoni ( x,y, 'o' ,x,f, '-' )
legenda ( 'data' , 'lineaarinen sovitus' )
Johtopäätös
MATLAB polyfit() funktiota käytetään polynomikäyrän sovitukseen. Tämä funktio ottaa argumenteiksi kaksi vektoria ja polynomin asteen ja piirtää saadut tulokset. Tämä opetusohjelma sisältää hyödyllistä tietoa a polyfit() funktio MATLABissa, ja joitakin hyödyllisiä esimerkkejä, jotka auttavat aloittelijoita ymmärtämään tämän funktion käyttöä.