多项式拟合(polyfit和polyval)

polyfit可以对数据进行拟合(自定义用几次多项式),返回相应的参数,然后用polyval生成拟合后的数据点。
polyfit(x,y,2)中x表示自变量,y表示因变量,2表示用二次曲线(抛物线)进行拟合,得到的p其实是对应的参数估计值
yy = polyval(p,x); yy为拟合数据点。
f=poly2sym§,可以写出拟合后的公式。

x =[1.6000 2.0000 2.6000 3.0000 3.5000 3.9000 4.5000 4.6000 4.8000 5.0000 5.1000 5.3000 5.4000 5.6000 5.8000 6.0000 6.0000 6.1000 6.3000 6.5000 6.5000 6.7000 7.0000 7.1000 7.3000 7.3000 7.3000 7.7000 7.7000 7.8000 7.9000 8.0000 8.1000 8.3000 8.4000 8.4000 8.5000 8.7000 8.8000 9.0000];
y =[0.9930 0.9831 0.9731 0.9631 0.9532 0.9432 0.9333 0.9233 0.9133 0.9034 0.8934 0.8835 0.8735 0.8635 0.8536 0.8436 0.8337 0.8237 0.8137 0.8038 0.7938 0.7839 0.7739 0.7639 0.7540 0.7440 0.7341 0.7241 0.7141 0.7042 0.6942 0.6843 0.6743 0.6643 0.6544 0.6444 0.6345 0.6245 0.6145 0.6046];
p = polyfit(x,y,2);
yy = polyval(p,x);
plot(x,y,’.’);
hold on;
plot(x,yy,‘r’,‘LineWidth’,2)
多项式拟合(polyfit和polyval)_第1张图片
f=poly2sym§ %写出拟合后的公式

y=-0.0065x.^2+0.0148x+0.9833

你可能感兴趣的:(matlab使用技巧)