Tento blog vysvětlí, jak vykreslit nejvhodnější čáru v MATLABu pomocí polyfit() funkce.
Jak vykreslit nejlepší fit linii v MATLABu?
Vykreslení nejvhodnější čáry v MATLABu lze snadno provést pomocí vestavěného polyfit() funkce. Tato funkce se používá pro aproximaci dat proložením křivky do daných datových bodů. Funkce přebírá více argumentů, včetně datových bodů a stupně polynomu. The polyfit() Funkce generuje vektor koeficientů, který se používá k vyhodnocení polynomu v libovolném bodě.
Pokud máme n datových bodů, je možné zapsat polynom se stupněm menším než n-1, který může nebo nemusí procházet všemi datovými body, pomocí polyfit() funkce.
Syntax
The polyfit() funkce má několik syntaxí, které lze v MATLABu použít k provádění úloh prokládání křivek:
p = polyfit ( x, y, n )
[ p,S ] = polyfit ( x, y, n )
[ p,S,mu ] = polyfit ( x, y, n )
Tady:
Funkce p = polyfit(x,y,n) poskytuje koeficienty pro polynom p(x) mající stupeň n, který dává nejlépe vyhovující linii pomocí metody nejmenších čtverců pro data v y. P má délku n+1 a koeficienty p mají mocniny v sestupném pořadí.
Funkce [p,S] = polyfit(x,y,n) dává strukturu S, kterou lze použít v polyval() fungovat jako argument pro získání odhadů chyb.
Funkce [ p , S , in ] = polyfit ( x , y , n ) vrátí mu jako vektor se dvěma prvky s hodnotami pro centrování a změnu měřítka. The v 1) je ekvivalentní střední (x) , zatímco v (2) je rovný std(x) . S těmito možnostmi polyfit() upraví x tak, aby jeho výstup s nulovou hodnotou měl jednotkovou směrodatnou odchylku.
Příklady
Postupujte podle uvedených příkladů, abyste pochopili fungování polyfit() funkce pro vykreslení nejvhodnější čáry v MATLABu.
Příklad 1: Jak vykreslit čáru nejlépe vyhovující v MATLABu pomocí funkce polyfit(x, y, n)?
Tento příklad nejprve vytvoří vektor x mající 11 rovnoměrně rozmístěných prvků obsažených v intervalu [0, 20]. Potom pomocí chybové funkce najde hodnoty y odpovídající všem x yard (x) . Poté používá polyfit() funkce pro dosazení polynomu 9. stupně do daných datových bodů. Nakonec vykreslí výsledky vyhodnocení polynomů s jemnější mřížkou.
x = [ 0 : 2 : dvacet ] ';y = dědičnost (x);
p = polyfit(x,y,9);
f = polyval(p,x);
plot(x,y,' Ó ',x,f,' - ')
Příklad 2: Jak vykreslit čáru nejlépe vyhovující v MATLABu pomocí funkce [p, S]= polyfit(x, y, n)?
Tento kód MATLABu nejprve vytvoří vektor x s 11 rovnoměrně rozmístěnými prvky obsaženými v intervalu [0, 20]. Potom najde hodnoty y odpovídající všem x pomocí hřích(x) funkce. Poté používá polyfit() funkce pro dosazení polynomu 10. stupně do daných datových bodů. Nakonec vykreslí výsledky vyhodnocení polynomů s jemnější mřížkou.
x = [ 0 : 2 : dvacet ] ';y = sin(x);
[p,S] = polyfit(x,y,10)
f = polyval(p,x);
plot(x,y,' Ó ',x,f,' - ')
Závěr
MATLAB obsahuje vestavěný polyfit() funkce pro vykreslení nejvhodnější čáry. Tato funkce nám umožňuje aproximovat data proložením křivky do daných datových bodů. Pokud máme n datových bodů, polynom se stupněm menším než n-1 může poskytnout nejlepší aproximaci pro daných n datových bodů. Tato příručka nám poskytla informace o prokládání křivek a pomáhá nám porozumět tomu, jak v MATLABu vykreslit čáru, která nejlépe vyhovuje.