您好,欢迎访问三七文档
当前位置:首页 > 机械/制造/汽车 > 汽车理论 > 牛顿插值法matlab程序
《计算方法》数值实验报告班级090712学号09071235姓名金志彬实验室3-128设备编号D12日期2012.06.05实验题目编写牛顿插值方法的MATLAB主程序并验算P183.111、实验目的:通过编程实现牛顿插值方法,加深对多项式插值的理解。应用所编程序解决实际算例。2、实验要求:(1)认真分析课题要求,复习相关理论知识,选择适当的解决方案;(2)上机实验程序,做好上机前的准备工作;(3)调试程序,记录计算结果;(4)分析和解释计算结果;(5)按照要求书写实验报告。3、实验内容:(1)算法原理或计算公式算法原理:根据均差定义,把x看成[a,b]上一点,可得)](,[)()(000xxxxfxfxf)](,,[],[],[110100xxxxxfxxfxxf…)](,...,,[],...,,[],...,,[01010nnnnxxxxxfxxxfxxxf只要把后一式代入前一式,就得到)()(],...,,[))...(](,...,,[...))(](,,[)](,[)()(1101010102100100xNxxxxfxxxxxxxfxxxxxxxfxxxxfxfxfnnnnn其中))...(](,...,[...))(](,,[)](,[)()(00102100100nnnxxxxxxfxxxxxxxfxxxxfxfxN)(],...,,[)()()(10xxxxfxNxfxRnnnn))...()(()(10nnxxxxxxx由式(1-1)确定的多项式)(xNn显然满足插值条件,且次数不超过n次的多项式,其系数为),...,1,0](,...,[0nkxxfakk称)(xNn为牛顿(Newton)均差插值多项式。系数ka就是书本表5-1中第一条斜线上对应的数值。式(1-2)为插值余项,由插值多项式唯一性可知,它与书本式(5.1.19)是等价的,事实上,利用均差与导数关系式可由式(1-2)推出书本式(5.1.19)。但式(1-2)更有一般性,它对f是由离散点给出的情形或f导数不存在时均适用。(2)程序设计思路1)输入:n的值及;,...,1,0,,niyxii)(要计算的函数点x(本文取x0,x1两个函数点);2)由))...(](,...,[...))(](,,[)](,[)()(00102100100nnnxxxxxxfxxxxxxxfxxxxfxfxN计算)(xNn的值;3)输出:)(xNn。(3)源程序functionf=Newton(x,y,x0,x1)symst;if(length(x)==length(y))n=length(x);c(1:n)=0.0;elsedisp('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));endc(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];forj=2:nfori=j:nA(i,j)=(A(i,j-1)-A(i-1,j-1))/(x(i)-x(i+1-j));endenddisp('差商表为');disp(A);(4)运行结果x=[0123];y=[121764];x0=0.5;x1=2.5;f=Newton(x,y,x0,x1)g=0.8750g1=35.3750差商表为00001.00001.0000007.00006.00002.500003.0000-4.0000-5.0000-2.5000f=1-2*t^2+3*t^34、实验小结体会:1)通过本次实验让我从实践验证了理论-------插值多项式的基本思想;2)牛顿插值法建立过程中用到了插商计算,这是有别于拉格朗日插值法的一部分,在已知点数较少的情况下用牛顿插值法较为准确;3)通过编程,加深了matlab的熟悉特别是一些函数语句,进一步体会到了函数逼近的思想。
本文标题:牛顿插值法matlab程序
链接地址:https://www.777doc.com/doc-1369224 .html