【发布时间】:2018-02-20 14:20:52
【问题描述】:
我希望将抛物线拟合到以下数据。
x = [-10:2:16];
y = [0.0334,0.0230,0.0145,0.0079,0.0033,0.0009,0.0006,0.0026,0.0067,0.0130,0.0213,0.0317,0.0440,0.0580];
[p,~,~] = polyfit(x,y,2);
x2 = linspace(-10,16,100);
y2 = polyval(p,x2);
y3 = 0.0003.*x2.^2 -0.0006.*x2 + 0.0011;
figure
plot(x,y,'o',x2,y2,x2,y3)
但是,拟合与数据完全不匹配。将数据放入 excel 并在那里使用二阶多项式进行拟合后,我得到了非常好的拟合。 y = 0.0003x2 - 0.0006x + 0.0011(截断系数的 excel 会稍微偏斜拟合)。使用这些数据的 polyfit 发生了什么?
【问题讨论】:
标签: matlab curve-fitting