Kurvanpassning

Quit[]

punk={1,7,3,6,4,5,6,6,9,9,8};
punkter=Partition[punk,2];
list=ListPlot[punkter,PlotRange->{0,10},AxesOrigin->{0,0},PlotStyle->PointSize[Large]]

En ekvation per punkt - exakt lösning

system={
a0+a1+a2+a3+a4==7,
a0+3 a1+9 a2+27 a3+81 a4==6,
a0+4 a1+16 a2+64 a3+256 a4==5,
a0+6 a1+36 a2+216 a3+1296 a4==6,
a0+9 a1+81 a2+729 a3+6561 a4==9};

Lös systemet

{{a0,a1,a2,a3,a4}}={a0,a1,a2,a3,a4}/.Solve[system]//N

Fit gör samma sak (Exakt lösning)

kurv=Fit[punkter,{1,x,(x^2),(x^3),(x^4)},x]

kp=Plot[kurv,{x,0,10}];
Show[list,kp]

Fit kan också anpassa till polynom med lägre gradtal

kurv2=Fit[punkter,{1,x,(x^2)},x]
kp2=Plot[kurv2,{x,0,10}];
Show[list,kp2]

kp2=Plot[kurv2,{x,0,10}];
Show[list,kp2]

Fit kan också anpassa till polynom med högre gradtal

kurvhög=Fit[punkter,{1,x,(x^2),(x^3),(x^4),(x^5),(x^6)},x]
kphög=Plot[kurvhög,{x,0,10}];
Show[list,kphög]