多项式拟合(polyfit和polyval)

三世轮回 提交于 2020-03-06 10:25:48

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)
在这里插入图片描述
f=poly2sym§ %写出拟合后的公式

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

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!