Cum se trasează cea mai bună linie de potrivire în MATLAB?

Cum Se Traseaza Cea Mai Buna Linie De Potrivire In Matlab



Potrivirea curbei este procesul de ajustare a funcției în punctele de date. Această metodă este utilizată pentru a trasa linia cea mai potrivită în MATLAB, reducând la minimum eroarea dintre funcție și punctele de date. Aceasta este o metodă complicată, dar MATLAB ușurează, oferind diverse funcții de ajustare a curbei. O astfel de funcție este polifit() care poate fi folosit pentru a trasa o linie cea mai potrivită în MATLAB.

Acest blog va explica cum să trasați linia cea mai potrivită în MATLAB folosind polifit() funcţie.

Cum se trasează cea mai bună linie de potrivire în MATLAB?

Trasarea celei mai bune linii în MATLAB se poate face cu ușurință folosind sistemul încorporat polifit() funcţie. Această funcție este utilizată pentru aproximarea datelor prin potrivirea curbei în punctele date date. Funcția primește mai multe argumente, inclusiv punctele de date și gradul polinomului. The polifit() funcția generează un vector de coeficienți care este utilizat pentru a evalua un polinom în orice punct.







Dacă avem n puncte de date, devine posibil să scriem polinomul cu grad mai mic decât n-1 care poate trece sau nu prin toate punctele de date, folosind polifit() funcţie.



Sintaxă

The polifit() funcția are mai multe sintaxe care pot fi utilizate în MATLAB pentru efectuarea sarcinilor de ajustare a curbei:



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

Aici:





Functia p = polyfit(x,y,n) furnizează coeficienții pentru polinom p(x) având gradul n care dă linia cea mai potrivită folosind metoda celor mai mici pătrați pentru datele din y. P are lungimea n+1, iar coeficienții lui p au puteri în ordine descrescătoare.

Functia [p,S] = polyfit(x,y,n) dă structura S, care poate fi utilizată în polival() funcţionează ca argument pentru obţinerea estimărilor de eroare.



Functia [ p , S , în ] = polyfit ( x , y , n ) returnează mu ca vector cu două elemente având valori pentru centrare și scalare. The în 1) este echivalent cu medie (x) , în timp ce in (2) este egal cu std(x) . Cu aceste opțiuni, polifit() ajustează x astfel încât ieșirea sa cu valoare zero să aibă abaterea standard a unității.

Exemple

Urmați exemplele date pentru a înțelege funcționarea polifit() funcția pentru a reprezenta linia cea mai potrivită în MATLAB.

Exemplul 1: Cum se trasează cea mai bună linie de potrivire în MATLAB folosind funcția polyfit(x, y, n)?

Acest exemplu creează mai întâi un vector x având 11 elemente uniform distanțate conținute de intervalul [0, 20]. Apoi găsește valorile lui y corespunzătoare tuturor x-urilor folosind funcția de eroare curte(x) . După aceea, folosește polifit() funcție de potrivire a polinomului de gradul 9 în punctele date date. În cele din urmă, grafice rezultatele evaluării polinomiale cu o grilă mai fină.

x = [ 0 : 2 : douăzeci ] ';
y = mostenire(x);
p = polyfit(x,y,9);
f = polival(p,x);
plot(x,y,'
O ',x,f,' - ')

Exemplul 2: Cum se trasează cea mai bună linie de potrivire în MATLAB folosind funcția [p, S]= polyfit(x, y, n)?

Acest cod MATLAB creează mai întâi un vector x cu 11 elemente uniform distanțate conținute de intervalul [0, 20]. Apoi găsește valorile lui y corespunzătoare tuturor x-urilor folosind sin(x) funcţie. După aceea, folosește polifit() funcție de potrivire a polinomului de gradul 10 în punctele de date date. În cele din urmă, grafice rezultatele evaluării polinomiale cu o grilă mai fină.

x = [ 0 : 2 : douăzeci ] ';
y = sin(x);
[p,S] = polyfit(x,y,10)
f = polival(p,x);
plot(x,y,'
O ',x,f,' - ')

Concluzie

MATLAB include un built-in polifit() funcția de a trasa linia cea mai potrivită. Această funcție ne permite să aproximăm datele prin potrivirea curbei în punctele date date. Dacă avem n puncte de date, polinomul având un grad mai mic decât n-1 poate oferi cea mai bună aproximare pentru n puncte de date date. Acest ghid ne-a oferit informații despre potrivirea curbei și ne ajută să înțelegem cum să trasăm linia cea mai potrivită în MATLAB.