Šiame tinklaraštyje bus paaiškinta, kaip nubrėžti geriausiai tinkančią MATLAB liniją naudojant polifit () funkcija.
Kaip nubrėžti geriausiai tinkančią liniją MATLAB?
Geriausiai tinkančią liniją MATLAB galima lengvai nubrėžti naudojant įmontuotą polifit () funkcija. Ši funkcija naudojama duomenų aproksimacijai pritaikant kreivę duotuose duomenų taškuose. Funkcija naudoja kelis argumentus, įskaitant duomenų taškus ir polinomo laipsnį. The polifit () funkcija generuoja koeficientų vektorių, kuris naudojamas įvertinti daugianarį bet kuriame taške.
Jei turime n duomenų taškų, naudojant polifit () funkcija.
Sintaksė
The polifit () funkcija turi keletą sintaksių, kurias galima naudoti MATLAB kreivių pritaikymo užduotims atlikti:
p = polifit ( x,y,n )
[ p,S ] = polifit ( x,y,n )
[ p,S,mu ] = polifit ( x,y,n )
Čia:
Funkcija p = polifit(x,y,n) pateikia koeficientus daugianario p(x) turintis n laipsnį, kuris duoda geriausiai atitinkančią liniją, naudojant mažiausio kvadrato metodą y duomenims. P ilgis yra n+1, o p koeficientai turi galias mažėjančia tvarka.
Funkcija [p,S] = polifit(x,y,n) suteikia struktūrą S, kuri gali būti naudojama polivalas () veikia kaip argumentas norint gauti klaidų įvertinimus.
Funkcija [ p , S , in ] = polifit ( x , y , n ) grąžina mu kaip vektorių su dviem elementais, turinčiais centravimo ir mastelio reikšmes. The (1) yra lygiavertis vidurkis (x) , tuo tarpu (2) yra lygus std(x) . Naudodami šias parinktis, polifit () sureguliuoja x taip, kad jo nulinės vertės išvestis atitiktų vieneto standartinį nuokrypį.
Pavyzdžiai
Sekite pateiktus pavyzdžius, kad suprastumėte, kaip veikia polifit () funkcija, kuri geriausiai atitinka MATLAB liniją.
1 pavyzdys: Kaip nubrėžti geriausiai tinkančią liniją MATLAB naudojant polyfit(x, y, n) funkciją?
Šiame pavyzdyje pirmiausia sukuriamas vektorius x, turintis 11 tolygiai išdėstytų elementų, esančių intervale [0, 20]. Tada jis suranda y reikšmes, atitinkančias visus x, naudodamas klaidos funkciją kiemas (x) . Po to jis naudoja polifit () funkcija, skirta 9-ojo laipsnio polinomui pritaikyti duotuose duomenų taškuose. Galiausiai jis nubraižo polinomo įvertinimo rezultatus tikslesniu tinkleliu.
x = [ 0 : 2 : dvidešimt ] ';y = paveldimumas(x);
p = polifit(x,y,9);
f = daugiavalis(p,x);
plot(x,y,' O ',x,f,' - ')
2 pavyzdys: Kaip nubrėžti geriausiai tinkančią liniją MATLAB naudojant [p, S]= polyfit(x, y, n) funkciją?
Šis MATLAB kodas pirmiausia sukuria vektorių x su 11 tolygiai išdėstytų elementų, esančių intervale [0, 20]. Tada jis suranda y reikšmes, atitinkančias visus x, naudodamas nuodėmė (x) funkcija. Po to jis naudoja polifit () funkcija, skirta 10-ojo laipsnio polinomui pritaikyti duotuose duomenų taškuose. Galiausiai jis nubraižo polinomo įvertinimo rezultatus tikslesniu tinkleliu.
x = [ 0 : 2 : dvidešimt ] ';y = sin(x);
[p,S] = polifit(x,y,10)
f = daugiavalis(p,x);
plot(x,y,' O ',x,f,' - ')
Išvada
MATLAB turi įmontuotą polifit () funkcija geriausiai atitinkančią liniją. Ši funkcija leidžia apytiksliai apskaičiuoti duomenis pritaikant kreivę duotuose duomenų taškuose. Jei turime n duomenų taškų, polinomas, kurio laipsnis mažesnis nei n-1, gali duoti geriausią apytikslę nurodytų n duomenų taškų. Šis vadovas suteikė mums informacijos apie kreivės pritaikymą ir padeda suprasti, kaip nubrėžti geriausiai tinkančią liniją MATLAB.