[已解决] 学习用待定系数法求插值多项式的系数,得出的图像不一样

[复制链接]
不明杰 发表于 2022-8-1 15:58:36
本帖最后由 不明杰 于 2022-8-1 15:58 编辑

如图,我完全是按照书上的指令输入,可为什么得出来的图像不一致呢?并且这个图像和后文使用拉格朗日插值多项式法得出的结果一致。
76c8d91a2f7fb5fac77be1ae9e76ba1.jpg
56f8285c9179499ffe0b726569f9e36.jpg
29486dad9893beaebe97e571237ed0d.jpg
7e79e6f61054d069b40846ddf15045c.jpg

最佳答案


maple1314168 发表于 7 天前
不明杰 发表于 2022-8-3 15:41
和书上的代码,是没有区别的。可得出来的图就是不一样。书上用待定系数法,得出来的图,在x=1左边的曲线是 ...

谁说要一样啊!算法都不一样。拟合与插值使用的算法是不同的。
x=[1:6]; y=[16 18 21 17 15 12];
u=0.5:0.1:6.5;
V=vander(x);a=V\y';
z1=polyval(a,u);
z2=interp1(x,y,u);
plot(x,y,'o',u,z1,u,z2)

9 条回复


不明杰 发表于 2022-8-1 16:05:27
第一个点划线图,是用拉格朗日插值多项式算的。
第二个实线图,是待定系数法

maple1314168 发表于 2022-8-2 08:31:02
附上代码吧!不要截图!

不明杰 发表于 7 天前
本帖最后由 不明杰 于 2022-8-3 15:38 编辑
maple1314168 发表于 2022-8-2 08:31
附上代码吧!不要截图!

x=[1:6];
y=[16 18 21 17 15 12];
V=vander(x);
a=V\y'
u=0.5:0.1:6.5
z=polyval(a,u);
plot(x,y,'o',u,z,'-')
grid

这是我打的代码

不明杰 发表于 7 天前
和书上的代码,是没有区别的。可得出来的图就是不一样。书上用待定系数法,得出来的图,在x=1左边的曲线是从下往上连接。而我的图在x=1左边却是从上往下连接的

lyqmath 发表于 7 天前
不明杰 发表于 2022-8-3 15:35
x=[1:6];
y=[16 18 21 17 15 12];
V=vander(x);

看看书上用的是什么版本的MATLAB,感觉书里面的图不对

maple1314168 发表于 7 天前
不明杰 发表于 2022-8-3 15:41
和书上的代码,是没有区别的。可得出来的图就是不一样。书上用待定系数法,得出来的图,在x=1左边的曲线是 ...

谁说要一样啊!算法都不一样。拟合与插值使用的算法是不同的。
x=[1:6]; y=[16 18 21 17 15 12];
u=0.5:0.1:6.5;
V=vander(x);a=V\y';
z1=polyval(a,u);
z2=interp1(x,y,u);
plot(x,y,'o',u,z1,u,z2)
回复此楼

不明杰 发表于 6 天前
lyqmath 发表于 2022-8-3 17:40
看看书上用的是什么版本的MATLAB,感觉书里面的图不对

是2013a版的

不明杰 发表于 6 天前
maple1314168 发表于 2022-8-3 17:45
谁说要一样啊!算法都不一样。拟合与插值使用的算法是不同的。
x=[1:6]; y=[16 18 21 17 15 12];
u=0.5:0. ...

这是用你的代码出的图,还是从上往下连接诶,是不是书上错了
T@${VC@L_X7188REIM%LU7V.png

lyqmath 发表于 6 天前

可能版本比较旧了,建议看近几年的书,有的模块升级了,比较老的书里面的效果跟目前的不同。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

相关帖子
相关文章
热门教程
站长推荐
快速回复 返回顶部 返回列表