电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

牛顿插值法matlab程序

牛顿插值法matlab程序_第1页
1/3
牛顿插值法matlab程序_第2页
2/3
牛顿插值法matlab程序_第3页
3/3
《计算方法》数值实验报告班级090712学号姓名金志彬实验室3-128设备编号D12日期2025.06.05 实验题目编写牛顿插值方法的 MATLAB 主程序并验算 P183.111、实验目的:通过编程实现牛顿插值方法,加深对多项式插值的理解。应用所编程序解决实际算例。2、实验要求:(1)仔细分析课题要求,复习相关理论知识,选择适当的解决方案;(2)上机实验程序,做好上机前的准备工作;(3)调试程序,记录计算结果;(4)分析和解释计算结果;(5)根据要求书写实验报告。3、实验内容:(1)算法原理或计算公式算法原理:根据均差定义,把 x 看成[a,b]上一点,可得 … 只要把后一式代入前一式,就得到其中 由式(1-1)确定的多项式显然满足插值条件,且次数不超过 n 次的多项式,其系数为 称为牛顿(Newton)均差插值多项式。系数就是书本表 5-1 中第一条斜线上对应的数值。式(1-2)为插值余项,由插值多项式唯一性可知,它与书本式(5.1.19)是等价的,事实上,利用均差与导数关系式可由式(1-2)推出书本式(5.1.19)。但式(1-2)更有一般性,它对 f 是由离散点给出的情形或 f 导数不存在时均适用。(2)程序设计思路 1)输入:n 的值及要计算的函数点 x(本文取 x0,x1 两个函数点);2)由计算的值;3)输出:。(3)源程序function f=Newton(x,y,x0,x1)syms t;if(length(x)==length(y)) n=length(x); c(1:n)=0.0;else disp('x 和 y 的维数不相等!'); return;endf=y(1);y1=0;l =1;for(i=1:n-1) for(j=i+1:n) y1(j)=(y(j)-y(i))/(x(j)-x(i)); end c(i)=y1(i+1); l=l*(t-x(i)); f=f+c(i)*l; y=y1;endf=simplify(f);g=subs(f,'t',x0)g1=subs(f,'t',x1)A=zeros(n,n-1);A=[y',A];for j=2:n for i=j:n A(i,j)=(A(i,j-1)-A(i-1,j-1))/(x(i)-x(i+1-j)); endenddisp('差商表为');disp(A);(4)运行结果>> x=[0 1 2 3];>> y=[1 2 17 64];>> x0=0.5;>> x1=2.5;>> f=Newton(x,y,x0,x1)g = 0.8750g1 = 35.3750差商表为 0 0 0 0 1.0000 1.0000 0 0 7.0000 6.0000 2.5000 0 3.0000 -4.0000 -5.0000 -2.5000 f = 1-2*t^2+3*t^34、实验小结体会:1)通过本次实验让我从实践验证了理论-------插值多项式的基本思想;2)牛顿插值法建立过程中用到了插商计算,这是有别于拉格朗日插值法的一部分,在已知点数较少的情况下用牛顿插值法较为准确;3)通过编程,加深了 matlab 的熟悉特别是一些函数语句,进一步体会到了函数逼近的思想。

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

牛顿插值法matlab程序

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部