多项式插值实验报告.doc_第1页
多项式插值实验报告.doc_第2页
多项式插值实验报告.doc_第3页
多项式插值实验报告.doc_第4页
多项式插值实验报告.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

实验报告 实验报告一题目:多项式插值 摘要:熟悉插值多项式构造,通过计算机解决实验问题;龙格现象的发生、防止,通过拉格朗日插值、分段线性插值以及三次样条插值进行插值效果的比较通过分析、推导,掌握数据插值的思想方法;通过对插值方法的进一步讨论,了解插值的“龙格”现象;熟悉常用的分段线性插值和样条插值的使用方法;掌握上机编程与调试能力。由于高次多项式插值不收敛,会产生Runge现象,本实验在给出具体的实例后,采用分段线性插值和三次样条插值的方法有效的克服了这一现象,而且还取的很好的插值效果。前言:(目的和意义)1. 掌握拉格朗日插值法,分段线性插值法,三次样条插值法。2. 深刻认识多项式插值的缺点。3. 明确插值的不收敛性怎样克服。4. 明确精度与节点和插值方法的关系。数学原理:在给定n+1个节点和相应的函数值以后构造n次的Lagrange插值多项式,实验结果表明(见后面的图)这种多项式并不是随着次数的升高对函数的逼近越来越好,这种现象就是Rung现象。解决Rung现象的方法通常有分段线性插值、三次样条插值等方法。分段线性插值:设在区间a, b上,给定n+1个插值节点a=x0x1xn=b和相应的函数值y0,y1,yn,求作一个插值函数,具有如下性质:1) ,j=0,1,n。2) 在每个区间xi, xj上是线性连续函数。则插值函数称为区间a, b上对应n个数据点的分段线性插值函数。三次样条插值:给定区间a, b一个分划 :a=x0x1xN=b 若函数S(x)满足下列条件:1) S(x)在每个区间xi, xj上是不高于3次的多项式。2) S(x)及其2阶导数在a, b上连续。则称S(x)使关于分划的三次样条函数。程序设计:本实验采用Matlab的M文件编写。其中待插值的方程写成function的方式,如下function y=f(x);y=1/(1+25*x*x);写成如上形式即可,下面给出主程序Lagrange插值源程序:function p=Lag_polyfit(X,Y)%Matlab函数文件Lag_polyfit.m%拉格朗日插值法多项式拟合 P17%p=Lag_polyfit(X,Y)% X 拟合自变量% Y 拟合函数值% p 所得的拟合多项式系数if size(X)=size(Y)error(变量不匹配);end %如果要拟合的函数值与自变量维数不一样,则退出报错tic %开始记时format long g %设置最合适的数字格式r=size(Y); n=r(2); %n为要拟合的数据长度p=zeros(1,n); %保存所得多项式系数p0=p; b=0; %工作变量W=poly(X); %W为以X为根的多项式dW=polyder(W); %dW为对多项式W 求导后的多项式系数z=polyval(dW,X); %z为以dW 为系数的多项式对X的值A=1 1; r=A; %A,r为长度为2 的(1,2)向量for i=1:n %计算循环开始A=1,-X(i); %A为一次多项式x-x(i)系数p0,r=deconv(W,A); %进行多项式除法W/A,p0为商b=Y(i)/z(i);p0=b.*p0; %p0为累加项p=p+p0;end %循环结束disp(toc) %分段线性插值源程序clearn=input(将区间分为的等份数输入:n);s=-1+2/n*0:n; %给定的定点,Rf为给定的函数m=0;hh=0.001;for x=-1:hh:1; ff=0; for k=1:n+1; %求插值基函数 switch k case 1 if xs(n); l=(x-s(n)./(s(n+1)-s(n); else l=0; end otherwise if x=s(k-1)&x=s(k)&x=s(k+1); l=(x-s(k+1)./(s(k)-s(k+1); else l=0; end end end ff=ff+Rf(s(k)*l; %求插值函数值 end m=m+1; f(m)=ff;end %作出曲线x=-1:hh:1;plot(x,f,r);grid onhold on 三次样条插值源程序:(采用第一边界条件)clearn=input(将区间分为的等份数输入:n);%插值区间a=-1;b=1;hh=0.001; %画图的步长s=a+(b-a)/n*0:n; %给定的定点,Rf为给定的函数%第一边界条件Rf(-1),Rf(1)v=5000*1/(1+25*a*a)3-50/(1+25*a*a)4;for k=1:n; %取出节点间距 h(k)=s(k+1)-s(k);endfor k=1:n-1; %求出系数向量lamuda,miu la(k)=h(k+1)/(h(k+1)+h(k); miu(k)=1-la(k);end%赋值系数矩阵Afor k=1:n-1; for p=1:n-1; switch p case k A(k,p)=2; case k-1 A(k,p)=miu(p+1); case k+1 A(k,p)=la(p-1); otherwise A(k,p)=0; end endend%求出d阵for k=1:n-1; switch k case 1 d(k)=6*f2c(s(k) s(k+1) s(k+2)-miu(k)*v; case n-1 d(k)=6*f2c(s(k) s(k+1) s(k+2)-la(k)*v; otherwise d(k)=6*f2c(s(k) s(k+1) s(k+2); endend%求解M阵M=Ad;M=v;M;v;%m=0;f=0;for x=a:hh:b; if x=a; p=1; else p=ceil(x-s(1)/(b-a)/n); end ff1=0; ff2=0; ff3=0; ff4=0; m=m+1; ff1=1/h(p)*(s(p+1)-x)3*M(p)/6; ff2=1/h(p)*(x-s(p)3*M(p+1)/6; ff3=(Rf(s(p+1)-Rf(s(p)/h(p)-h(p)*(M(p+1)-M(p)/6)*(x-s(p); ff4=Rf(s(p)-M(p)*h(p)*h(p)/6; f(m)=ff1+ff2+ff3+ff4 ; end %作出插值图形x=a:hh:b;plot(x,f,k)hold ongrid on 结果分析和讨论:本实验采用函数进行数值插值,插值区间为-1,1,给定节点为xj=-1+jh,h=0.1,j=0,,n。下面分别给出Lagrange插值,三次样条插值,线性插值的函数曲线和数据表。图中只标出Lagrange插值的十次多项式的曲线,其它曲线没有标出,从数据表中可以看出具体的误差。表中,L10(x)为Lagrange插值的10次多项式,S10(x),S40(x)分别代表n=10,40的三次样条插值函数,X10(x),X40(x)分别代表n=10,40的线性分段插值函数。x f(x) L10(x) S10(x) S40(x) X10(x) X40(x) -1.00000000000000 0.03846153846154 0.03846153846154 0.03846153846154 0.03846153846154 0.03846153846154 0.03846153846154 -0.95000000000000 0.04244031830239 1.92363114971920 0.04240833151040 0.04244031830239 0.04355203619910 0.04244031830239 -0.90000000000000 0.04705882352941 1.57872099034926 0.04709697585458 0.04705882352941 0.04864253393665 0.04705882352941 -0.85000000000000 0.05245901639344 0.71945912837982 0.05255839923979 0.05245901639344 0.05373303167421 0.05245901639344 -0.80000000000000 0.05882352941176 0.05882352941176 0.05882352941176 0.05882352941176 0.05882352941176 0.05882352941176 -0.75000000000000 0.06639004149378 -0.23146174989674 0.06603986172744 0.06639004149378 0.06911764705882 0.06639004149378 -0.70000000000000 0.07547169811321 -0.22619628906250 0.07482116198866 0.07547169811321 0.07941176470588 0.07547169811321 -0.65000000000000 0.08648648648649 -0.07260420322418 0.08589776360849 0.08648648648649 0.08970588235294 0.08648648648649 -0.60000000000000 0.10000000000000 0.10000000000000 0.10000000000000 0.10000000000000 0.10000000000000 0.10000000000000 -0.55000000000000 0.11678832116788 0.21559187891257 0.11783833017713 0.11678832116788 0.12500000000000 0.11678832116788 -0.50000000000000 0.13793103448276 0.25375545726103 0.14004371555730 0.13793103448276 0.15000000000000 0.13793103448276 -0.45000000000000 0.16494845360825 0.23496854305267 0.16722724315883 0.16494845360825 0.17500000000000 0.16494845360825 -0.40000000000000 0.20000000000000 0.20000000000000 0.20000000000000 0.20000000000000 0.20000000000000 0.20000000000000 -0.35000000000000 0.24615384615385 0.19058046675376 0.24054799403464 0.24615384615385 0.27500000000000 0.24615384615385 -0.30000000000000 0.30769230769231 0.23534659131080 0.29735691695860 0.30769230769231 0.35000000000000 0.30769230769231 -0.25000000000000 0.39024390243902 0.34264123439789 0.38048738140327 0.39024390243902 0.42500000000000 0.39024390243902 -0.20000000000000 0.50000000000000 0.50000000000000 0.50000000000000 0.50000000000000 0.50000000000000 0.50000000000000 -0.15000000000000 0.64000000000000 0.67898957729340 0.65746969368431 0.64000000000000 0.62500000000000 0.64000000000000 -0.10000000000000 0.80000000000000 0.84340742982890 0.82052861660828 0.80000000000000 0.75000000000000 0.80000000000000 -0.05000000000000 0.94117647058824 0.95862704866073 0.94832323122810 0.94117647058824 0.87500000000000 0.94117647058824 0 1.00000000000000 1.00000000000000 1.00000000000000 1.00000000000000 1.00000000000000 1.00000000000000 0.05000000000000 0.94117647058824 0.95862704866073 0.94832323122810 0.94117647058824 0.87500000000000 0.94117647058824 0.10000000000000 0.80000000000000 0.84340742982890 0.82052861660828 0.80000000000000 0.75000000000000 0.80000000000000 0.15000000000000 0.64000000000000 0.67898957729340 0.65746969368431 0.64000000000000 0.62500000000000 0.64000000000000 0.20000000000000 0.50000000000000 0.50000000000000 0.50000000000000 0.50000000000000 0.50000000000000 0.50000000000000 0.25000000000000 0.39024390243902 0.34264123439789 0.38048738140327 0.39024390243902 0.42500000000000 0.39024390243902 0.30000000000000 0.30769230769231 0.23534659131080 0.29735691695860 0.30769230769231 0.35000000000000 0.30769230769231 0.35000000000000 0.24615384615385 0.19058046675376 0.24054799403464 0.24615384615385 0.27500000000000 0.24615384615385 0.40000000000000 0.20000000000000 0.20000000000000 0.20000000000000 0.20000000000000 0.20000000000000 0.20000000000000 0.45000000000000 0.16494845360825 0.23496854305267 0.16722724315883 0.16494845360825 0.17500000000000 0.16494845360825 0.50000000000000 0.13793103448276 0.25375545726103 0.14004371555730 0.13793103448276 0.15000000000000 0.13793103448276 0.55000000000000 0.11678832116788 0.21559187891257 0.11783833017713 0.11678832116788 0.12500000000000 0.11678832116788 0.60000000000000 0.10000000000000 0.10000000000000 0.10000000000000 0.10000000000000 0.10000000000000 0.10000000000000 0.65000000000000 0.08648648648649 -0.07260420322418 0.08589776360849 0.08648648648649 0.08970588235294 0.08648648648649 0.70000000000000 0.07547169811321 -0.22619628906250 0.07482116198866 0.07547169811321 0.07941176470588 0.07547169811321 0.75000000000000 0.06639004149378 -0.23146174989674 0.06603986172744 0.06639004149378 0.06911764705882 0.06639004149378 0.80000000000000 0.05882352941176 0.05882352941176 0.05882352941176 0.058823529411

温馨提示

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

评论

0/150

提交评论