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
来源:CSDN
作者:zhangjx1110
链接:https://blog.csdn.net/zhangjx1110/article/details/104689230