插值方法 matlab 实验,matlab计算方法实验报告3(插值问题).doc

matlab计算方法实验报告3(插值问题)

计算方法实验报告(3)学生姓名杨贤邦学 号指导教师吴明芬实验时间2014.4.9地 点综合实验大楼 203实验题目插值方法实验目的掌握拉格朗日、牛顿插值法的算法思想;根据相关数据,用Matlab或C现实拉格朗日、牛顿插值法实验内容拉格朗日、牛顿插值法及其Matlab实现;题目由同学从学习材料中任意选两题。算法分析与源程序拉格朗日插值:function y=chazhi_lage(x0,y0,x)i=length(x0);y=0;for j=1:i p=1; for k=1:i if j~=k p=p*(x-x0(k))/(x0(j)-x0(k)); end end y=y0(j)*p+y;endend牛顿插值:function y=chazhi_newton(x0,y0,x)n=length(x0);a(1)=y0(1);s=1;yy=0;for i=2:n a(i)=y0(i); s=(x-x0(i-1))*s; for j=1:i-1 a(i)=(a(i)-a(j))/(x0(i)-x0(j)); end yy=a(i)*s+yy;endy=a(1)+yy;实验结果与分析1.依据以下数据表:分别用牛顿插值和拉格朗日插值求f(1.2)的值x-2-10123f(x)-5111725拉格朗日插值法结果:>> chazhi_lage(a,b,1.2)ans = 1.52800000000000牛顿插值法结果:>> chazhi_newton(a,b,1.2)ans = 1.528000000000002.已知:√100=10,√121=11,√144=12,分别用拉格朗日和牛顿插值法求√115的近似值。拉格朗日插值法结果:>> chazhi_lage(x,y,115)ans = 10.72275550536420牛顿插值法结果:>> chazhi_newton(x,y,115)ans = 10.72275550536420有上述实验结果分析,无论用拉格朗日或者牛顿的插值法计算出来的结果都是一样的,这是可以理解的,毕竟这两种方法都是通过构造n次插值多项式求得。区别是牛顿插值是一种具有递推性质的插值公式,即公式不用依赖于全部插值节点。当这种递推形式无疑使编程实现的难度高于拉格朗日插值,而且个人还觉得这种算法的时间复杂度比拉格朗日插值法要高。其 它编写牛顿插值法有点难度,特别是编写差商的那部分,开始时有着想放弃的倾向,不过最后坚持下来,参考了别人的算法,然后才编写了出来··成绩考核 算法分析与源程序( 50%), 实验结果及分析(30%), 实验???告(20%) 指导老师签名:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值