实验一-函数插值方法报告_第1页
实验一-函数插值方法报告_第2页
实验一-函数插值方法报告_第3页
实验一-函数插值方法报告_第4页
实验一-函数插值方法报告_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验一函数插值方法报告一、问题提出对于给定的一元函数y=f(x)的n+1个节点值。=fj=0,1,…,〃。试用Lagrange公式求其插值多项式或分段二次Lagrange插值多项式。数据如下:xj0.40.550.650.800.951.05yj0.410750.578150.696750.901.001.25382求五次Lagrange多项式L5(x),和分段三次插值多项式,计算f(0.596),f(0.99)的值。(提示:结果为f(°-596)X0.625732,f(0-99)X105423 )xjxj123yj0.3680.1350.05045670.0180.0070.0020.001试构造Lagrange多项式L6(x),计算的f(18,f(6.15)值。(提示:结果为f(1.8)X0.164762,f(6.15)X0.001266 )二、要求1、利用Lagrange插值公式l(x)二fn三x-1k=01i=0,i丰k k编写出插值多项式程序;给出插值多项式或分段三次插值多项式的表达式;根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何;口(x-x)口(x-x)jj=0,j丰k(x)=f(x)+Xf[x,・・.,x]•0 0kk=1其中:f[xn,…,七]二苫

0k,二0f⑷

i

口(x-x)ijj=0,j丰i三、目的和意义学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;明确插值多项式和分段插值多项式各自的优缺点;熟悉插值方法的程序编制;如果绘出插值函数的曲线,观察其光滑性。四、实验学时:2学时五、实验步骤:1.进入C或matlab开发环境;2.根据实验内容和要求编写程序;3.调试程序;4.运行程序;5.撰写报告,讨论分析实验结果.解:、编写插值函数结构程序Lagrange插值多项式M文件:lagrangel.mfunction[A1,LN,L1,B1]=lagrange1(X,Y)m=length(X);LN=ones(m,m);fork=1:mx1=1;fori=1:mifk~=ix1=conv(x1,poly(X(i)))/(X(k)-X(i));endendL1(k,:)=x1;B1(k,:)=poly2sym(x1)endA1=Y*L1;LN=Y*B1分段三次艾尔米特插值多项式的M文件:Hermite3.mfunction[f,ff]=Hermite3(x,y,y1)symst;f=0.0;if(length(x)==length(y))if(length(y)==length(y1))n=length(x);elsedisp('y和y的导数的维数不相等’);return;endelsedisp('x和y的维数不相等!’);return;endfori=1:nh=1.0;a=0.0;forj=1:nif(j~=i)h=h*(t-x(j))八2/((x(i)-x(j))八2);a=a+1/(x(i)-x(j));endendf=f+h*((x(i)-t)*(2*a*y(i)-y1(i))+y(i));endff=subs(f,'t');(1)、求五次Lagrange多项式L5("),和分段三次插值多项式。在主显示区,输入五次Lagrange多项式L5(x)程序:>X=[0.40.550.650.800.951.05];>Y=[0.410750.578150.696750.901.001.25382];>[A1,LN,L1,B1]=lagrange1(X,Y)>plot(X,A1);>F=poly2sym(A1)运行后,输出五次Lagrange多项式L5(x)的结果:A1=121.6264-422.7503572.5667-377.2549121.9718-15.0845F=拉格朗日插值多项式L5(x)的图如下:在主显示区,输入分段三次艾尔米特插值多项式L5(x)的程序:>x=[0.40.550.650.800.951.05];>y=[0.410750.578150.696750.901.001.25382];>y1=[2.34400.90321.43290.99030.91705.1439];>[f,ff]=Hermite3(x,y,y1);>ff运行后,分段三次艾尔米特插值多项式L5(x)的输出结果:ff=分段三次艾尔米特插值多项式L5(x)的图如下:(2)、试构造Lagrange多项式L6(x)。结果为f(1.8)氏0.164762f(6.15)氏0.001266在主显示区,输入程序:>X=[1234567];>Y=[0.3680.1350.0500.0180.0070.0020.001];>[A1,LN,L1,B1]=lagrange1(X,Y)>plot(X,A1);>>F=poly2sym(A1)运行后,输出结果的Lagrange多项式4(x)的结果:A1=0.0001 -0.0016 0.0186 -0.1175 0.4419 -0.9683 0.9950F=Lagrange多项式L6(x)的图如下:二、计算函数值计算函数值的主程序:lagrangezhi.mfunction[y,R]=lagrangezhi(X,Y,x,M)n=length(X);m=length(x);fori=1:mz=x(i);s=0.0;fork=1:np=1.0;q1=1.0;c1=1.0;forj=1:nifj~=kp=p*(z-X(j))/(X(k)-X(j));endq1=abs(q1*(z-X(j)));c1=c1*j;ends=p*Y(k)+s;endy(i)=s;endR=M*q1/c1;(1)、计算fQ596)、f(0.99)的值。在主显示区,输入程序:>x=0.596;M=1;X=[0.4,0.55,0.65,0.80,0.95,1.05];>Y=[0.41075,0.57815,0.69675,0.90,1.00,1.25382];>[y,R]=lagrangezhi(X,Y,x,M)运行结果:y=0.6257R=2.2170e-008在主显示区,输入程序:>>x=0.99;M=1;X=[0.4,0.55,0.65,0.80,0.95,1.05];>>Y=[0.41075,0.57815,0.69675,0.90,1.00,1.25382];>>[y,R]=lagrangezhi(X,Y,x,M)运行结果:y=1.0542R=5.5901e-008(2)、计算f(18、f(6』5)的值在主显示区,输入程序:>>x=1.8;M=1;X=[1,2,3,4,5,6,7];>>Y=[0.368,0.135,0.050,0.018,0.007,0.002,0.001];>>[y,R]=lagrangezhi(X,Y,x,M)运行结果:y=0.1648R=0.0059在主显示区,输入程序:>>x=6.15;M=1;X=[1,2,3,4,5,6,7];>>Y=[0.368,0.135,0.050,0.018,0.007,0.002,0.001];>>[y,R]=lagrangezhi(X,Y,x,M)运行结果:y=0.0013R=0.0042三、Newton插值多项式Newton插值多项式主程序M文件:Newton.mfunction[A,C,L,wcgs,Cw]=Newton(X,Y)n=length(X);A=zeros(n,n);A(:,1)=Y';s=0.0;p=1.0;q=1.0;c1=1.0;forj=2:nfori=j:nA(i,j)=(A(i,j-1)-A(i-1,j-1))/(X(i)-X(i-j+1));endb=poly(X(j-1));q1=conv(q,b);c1=c1*j;q=q1;endC=A(n,n);b=poly(X(n));q1=conv(q1,b);fork=(n-1):-1:1C=conv(C,poly(X(k)));d=length(C);C(d)=C(d)+A(k,k);endL(k,:)=poly2sym(C);Q=poly2sym(q1);symsMwcgs=M*Q/c1;Cw=q1/c1;在主显示区,输入L5a)的程序:>x=[0.40.550.650.800.951.05];>y=[0.410750.578150.696750.901.001.25382];>[A,C,L,wcgs,Cw]=Newton(x,y)>symsx;>ezplot(L,[01.1]);运行结果如下,得到L5a)A=0.4108000000.57821.116000000.69671.18600.28000000.90001.35500.67600.9900001.00000.6667-2.2944-7.4261-15.302001.25382.53827.486124.451463.7551121.6264121.6264-422.7503572.5667-377.2549121.9718-15.0845wcgs=Cw=0.0014 -0.0061 0.0110 -0.0103 0.0054 -0.0014 0.0002牛顿插值多项式L5a)的图如下:在主显示区,输入L6(x)的程序:> x=[1234567];> y=[0.3680.1350.0500.0180.0070.0020.001];>[A,C,L,wcgs,Cw]=Newton(x,y)>symsx;>ezplot(L,[08]);运行结果如下,得到L6(x):A=0.36800000000.1350-0.2330000000.0500-0.08500.074000000.0180-0.03200.0265-0.01580000.0070-0.01100.0105-0.00530.0026000.0020-0.00500.0030-0.00250.0007-0.000400.0010-0.00100.0020-0.00030.0005-0.00000.0001C=0.0001 -0.0016 0.0186 -0.1175 0.4419 -0.9683 0.9950wcgs=(M*(xA7-28*xA6+322*xA5-1960*xA4+6769*xA3-13132*xA2+13068*x-5040))/5040Cw=0.0002 -0.0056 0.0639 -0.3889 1.3431 -2.6056 2.5929-1.0000牛顿插值多项式L6(*)的图如下四、结果讨论和分析通过上

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论