我看有些人说是调用函数的问题,不能用polyval函数要用polyfit函数但是我把plot(x,y,'o',x,polyval(p,x))里面的polyval改成polyfit就会报错
初学者,求指导一下,万分感谢。
我看有些人说是调用函数的问题,不能用polyval函数要用polyfit函数但是我把plot(x,y,'o',x,polyval(p,x))里面的polyval改成polyfit就会报错
初学者,求指导一下,万分感谢。
你好同学,你只有七八个数据点,建议不要用高于3次的多项式拟合,那样虽然可以经过每个点,但是不叫拟合,算是多项式插值了。要得到拟合数据的光滑图形,需要将x取密集一点,你可以新设一个xm向量画图,下面举个例子
x = [1,3,6,9, 13,18];
y = [1,4,7,16,14,9];
p = polyfit(x,y,3);
xm = linspace(min(x),max(x),100);%密集的100个数据点
ym = polyval(p,xm)
plot(x,y,'ro',xm,ym,'b-')
legend('离散点数据','3次多项式拟合')
如有帮助还望题主给个采纳哟,谢谢啦(づ ̄3 ̄)づ╭❤~