Paano I-plot ang Best Fit Line sa MATLAB?

Paano I Plot Ang Best Fit Line Sa Matlab



Ang curve fitting ay ang proseso ng pag-aayos ng function sa mga data point. Ang pamamaraang ito ay ginagamit upang i-plot ang pinakamahusay na akma na linya sa MATLAB sa pamamagitan ng pagliit ng error sa pagitan ng function at mga punto ng data. Ito ay isang masalimuot na pamamaraan ngunit ginagawang madali ng MATLAB sa pamamagitan ng pag-aalok ng iba't ibang mga pag-andar ng curve fitting. Ang isang ganoong function ay ang polyfit() na maaaring magamit upang magplano ng pinakamahusay na akma na linya sa MATLAB.

Ang blog na ito ay magpapaliwanag kung paano i-plot ang pinakamahusay na akma na linya sa MATLAB gamit ang polyfit() function.

Paano I-plot ang Best Fit Line sa MATLAB?

Ang pag-plot ng pinaka-angkop na linya sa MATLAB ay madaling magawa gamit ang built-in polyfit() function. Ginagamit ang function na ito para sa pagtatantya ng data sa pamamagitan ng paglalagay ng curve sa mga ibinigay na punto ng data. Ang function ay tumatagal ng maraming argumento, kabilang ang mga punto ng data at ang polynomial's degree. Ang polyfit() Ang function ay bumubuo ng isang coefficient vector na ginagamit upang suriin ang isang polynomial sa anumang punto.







Kung mayroon tayong n data point, magiging posible na isulat ang polynomial na may degree na mas mababa sa n-1 na maaaring dumaan o hindi sa lahat ng data point, gamit ang polyfit() function.



Syntax

Ang polyfit() Ang function ay may ilang mga syntax na maaaring magamit sa MATLAB para sa pagsasagawa ng mga gawaing angkop sa kurba:



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

dito:





Ang function p = polyfit(x,y,n) nagbibigay ng mga coefficient para sa polynomial p(x) pagkakaroon ng degree n na nagbubunga ng pinakaangkop na linya gamit ang least square method para sa data sa y. Ang p ay may haba na n+1, at ang mga coefficient ng p ay may mga kapangyarihan sa pababang pagkakasunud-sunod.

Ang function [p,S] = polyfit(x,y,n) nagbibigay ng istraktura S, na maaaring magamit sa polyval() function bilang argumento para sa pagkuha ng mga pagtatantya ng error.



Ang function [ p , S , in ] = polyfit ( x , y , n ) nagbabalik ng mu bilang isang vector na may dalawang elemento na may mga halaga para sa pagsentro at pag-scale. Ang sa (1) ay katumbas ng ibig sabihin (x) , samantalang sa (2) ay katumbas ng std(x) . Sa mga pagpipiliang ito, polyfit() inaayos ang x upang ang zero-value na output nito ay may unit standard deviation.

Mga halimbawa

Sundin ang mga ibinigay na halimbawa upang maunawaan ang paggawa ng polyfit() function upang i-plot ang pinakamahusay na akma na linya sa MATLAB.

Halimbawa 1: Paano I-plot ang Best Fit Line sa MATLAB Gamit ang polyfit(x, y, n) Function?

Ang halimbawang ito ay unang lumilikha ng isang vector x na mayroong 11 pantay na espasyong elemento na naglalaman ng pagitan [0, 20]. Pagkatapos ay hahanapin nito ang mga halaga ng y na tumutugma sa lahat ng x gamit ang error function bakuran(x) . Pagkatapos nito, ginagamit nito ang polyfit() function para sa pag-angkop ng 9th-degree polynomial sa mga ibinigay na punto ng data. Sa wakas, inilalagay nito ang mga resulta ng pagsusuri ng polynomial na may mas pinong grid.

x = [ 0 : 2 : dalawampu ] ';
y = mana(x);
p = polyfit(x,y,9);
f = polyval(p,x);
plot(x,y,'
O ',x,f,' - ')

Halimbawa 2: Paano I-plot ang Best Fit Line sa MATLAB Gamit ang [p, S]= polyfit(x, y, n) Function?

Ang MATLAB code na ito ay unang lumilikha ng isang vector x na may 11 pantay na espasyong elemento na naglalaman ng pagitan [0, 20]. Pagkatapos ay nakahanap ito ng mga halaga ng y na tumutugma sa lahat ng x gamit ang kasalanan(x) function. Pagkatapos nito, ginagamit nito ang polyfit() function para sa pag-angkop ng 10th-degree polynomial sa mga ibinigay na punto ng data. Sa wakas, inilalagay nito ang mga resulta ng pagsusuri ng polynomial na may mas pinong grid.

x = [ 0 : 2 : dalawampu ] ';
y = kasalanan(x);
[p,S] = polyfit(x,y,10)
f = polyval(p,x);
plot(x,y,'
O ',x,f,' - ')

Konklusyon

Kasama sa MATLAB ang isang built-in polyfit() function upang i-plot ang pinaka-angkop na linya. Binibigyang-daan kami ng function na ito na tantiyahin ang data sa pamamagitan ng pag-aayos ng curve sa mga ibinigay na punto ng data. Kung mayroon tayong n data point, ang polynomial na may degree na mas mababa sa n-1 ay maaaring magbigay ng pinakamahusay na approximation para sa ibinigay na n data point. Ang gabay na ito ay nagbigay sa amin ng impormasyon tungkol sa curve fitting at tinutulungan kaming maunawaan kung paano i-plot ang pinaka-angkop na linya sa MATLAB.