Hogyan rajzoljuk meg a legjobb illeszkedési vonalat a MATLAB-ban?

Hogyan Rajzoljuk Meg A Legjobb Illeszkedesi Vonalat A Matlab Ban



A görbeillesztés a függvény adatpontokba illesztésének folyamata. Ezzel a módszerrel a legjobban illeszkedő egyenest ábrázolják a MATLAB-ban a függvény és az adatpontok közötti hiba minimalizálásával. Ez egy bonyolult módszer, de a MATLAB különféle görbeillesztési funkciókat kínálva megkönnyíti ezt. Az egyik ilyen funkció a polyfit() amivel a legjobban illeszkedő vonal rajzolható ki a MATLAB-ban.

Ez a blog elmagyarázza, hogyan rajzoljuk meg a legjobban illeszkedő sort a MATLAB-ban a polyfit() funkció.

Hogyan rajzoljuk meg a legjobb illeszkedési vonalat a MATLAB-ban?

A legjobban illeszkedő vonal felrajzolása a MATLAB-ban könnyen elvégezhető a beépített segítségével polyfit() funkció. Ezt a függvényt adatközelítésre használjuk úgy, hogy a görbét a megadott adatpontokba illesztjük. A függvény több argumentumot vesz fel, beleértve az adatpontokat és a polinom fokszámát. A polyfit() függvény egy együtthatóvektort generál, amelyet a polinom bármely pontban történő kiértékelésére használnak.







Ha n adatpontunk van, akkor lehetségessé válik az n-1-nél kisebb fokszámú polinom felírása, amely áthaladhat vagy nem minden adatponton, a polyfit() funkció.



Szintaxis

A polyfit() A függvénynek számos szintaxisa van, amelyek a MATLAB-ban használhatók görbeillesztési feladatok végrehajtására:



p = polyfit ( x,y,n )
[ p,S ] = polyfit ( x,y,n )
[ p,S,mu ] = polyfit ( x,y,n )

Itt:





A funkció p = polifit(x,y,n) megadja az együtthatókat a polinom p(x) amelynek n foka a legjobban illeszkedő egyenest adja a legkisebb négyzetes módszerrel az y-beli adatokra. A p hossza n+1, a p együtthatóinak hatványai csökkenő sorrendben vannak.

A funkció [p,S] = polifit(x,y,n) megadja az S szerkezetet, amely felhasználható a polyval() argumentumként funkcionál a hibabecslések lekéréséhez.



A funkció [ p , S , in ] = polifit ( x , y , n ) visszaadja a mu-t egy vektorként, amelynek két eleme van a központosításhoz és a skálázáshoz. A (1) egyenértékű átlag(x) , míg (2) egyenlő std(x) . Ezekkel a lehetőségekkel polyfit() úgy állítja be az x-et, hogy a nullaértékű kimenete egységnyi szórással rendelkezzen.

Példák

Kövesse a megadott példákat, hogy megértse a működését polyfit() függvény a MATLAB legjobban illeszkedő vonalának ábrázolásához.

1. példa: Hogyan rajzoljuk meg a legjobb illeszkedést a MATLAB-ban a polyfit(x, y, n) függvény használatával?

Ez a példa először egy x vektort hoz létre, amely 11 egyenlő távolságra lévő elemet tartalmaz a [0, 20] intervallumban. Ezután a hibafüggvény segítségével megkeresi az összes x-nek megfelelő y értéket udvar (x) . Ezt követően használja a polyfit() függvény a 9. fokú polinomnak a megadott adatpontokba való illesztésére. Végül a polinomiális kiértékelés eredményeit egy finomabb rács segítségével ábrázolja.

x = [ 0 : 2 : húsz ] ';
y = öröklődés(x);
p = polifit(x,y,9);
f = polival(p,x);
plot(x,y,'
O ',x,f,' - ')

2. példa: Hogyan rajzoljuk meg a legjobb illeszkedést a MATLAB-ban a [p, S]= polyfit(x, y, n) függvény használatával?

Ez a MATLAB kód először egy x vektort hoz létre 11 egyenlő távolságra lévő elemmel, amelyet a [0, 20] intervallum tartalmaz. Ezután a segítségével megkeresi az összes x-nek megfelelő y értéket bűn(x) funkció. Ezt követően használja a polyfit() függvény a 10. fokú polinomnak az adott adatpontokba való illesztésére. Végül a polinomiális kiértékelés eredményeit egy finomabb rács segítségével ábrázolja.

x = [ 0 : 2 : húsz ] ';
y = sin(x);
[p,S] = polifit(x,y,10)
f = polival(p,x);
plot(x,y,'
O ',x,f,' - ')

Következtetés

A MATLAB beépített polyfit() függvény a legjobban illeszkedő vonal ábrázolásához. Ez a függvény lehetővé teszi, hogy a görbét a megadott adatpontokba illesztve közelítsük az adatokat. Ha n adatpontunk van, akkor az n-1-nél kisebb fokszámú polinom tudja a legjobb közelítést adni az adott n adatpontra. Ez az útmutató tájékoztatást adott a görbeillesztésről, és segít megérteni, hogyan rajzoljuk meg a legjobban illeszkedő vonalat a MATLAB-ban.