数值分析课程实验报告-拉格朗日和牛顿插值法_第1页
数值分析课程实验报告-拉格朗日和牛顿插值法_第2页
数值分析课程实验报告-拉格朗日和牛顿插值法_第3页
数值分析课程实验报告-拉格朗日和牛顿插值法_第4页
数值分析课程实验报告-拉格朗日和牛顿插值法_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

数值分析课程实验报告用拉格朗日和牛顿插值法求解函数值 算法名称 用拉格朗日和牛顿插值法求函数值 学科专业 xxxxx 作者姓名 xxxx 作者学号 xxxxx 作者班级 xxxxxx xxx大学 二一五年十二月数值分析课程实验报告实验名称用拉格朗日和牛顿插值法求解函数值成绩一、问题背景 在工程技术与科学研究中,常遇到考察两个变量间的相互关系问题。两个变量间的关系可以通过函数表示,若x为自变量,y为因变量,则函数关系可描述为y=f(x)。大多数问题中,函数表达式y=f(x)未知,人们通常采用逼近的方法处理:取得一组数据点(xi,yi)(i=0,1,2,n),数据点可由不同方式取得(例如,可根据工程设计要求得到,也可通过采样或实验取得),然后构造一个简单函数P(x)作为y=f(x)的近似表达式,即y=f(x)P(x),对于y=f(x)P(x),若满足P(xi)=f(xi)=yi,i=0,1,2,n,这类问题成为插值问题。二、数学模型 1.函数f(x)=lnx的一些数值如表:x1.41.51.61.71.8lnx0.33650.40550.47000.53060.5878用拉格朗日插值法计算ln1.54的近似值。2. 函数f(x)=的一些数值如表:x0.40.50.60.70.80.63250.70710.77460.83670.8944 用牛顿插值法计算0.54的近似值,画出插值函数与原函数的图形做比较。三、算法描述1.拉格朗日插值法:设已知,.,及=f()(i=0,1,.,n),为不超过n次多项式且满足(i=0,1,.n).易知=(x)+.+.其中,均为n次多项式且满足式(3)(i,j=0,1,.,n),再由(ji)为n次多项式的n个根知=c.最后,由c=,i=0,1,.,n.总之,=,=式为n阶Lagrange插值公式,其中,(i=0,1,.n)称为n阶Lagrange插值的基函数。2.牛顿插值法: 插值法是利用函数f(x)在某区间中若干点的函数值,作出适当的特定函数,在这些点上取已知值,在区间的其他点上用这特定函数的值作为函数f(x)的近似值。如果这特定函数是多项式,就称它为插值多项式。当插值节点增减时全部插值基函数均要随之变化,这在实际计算中很不方便。为了克服这一缺点,提出了牛顿插值。牛顿插值通过求各阶差商,递推得到的一个公式:f(x)=fx0+fx0,x1(x-x0)+fx0,x1,x2(x-x0)(x-x1)+.fx0,.xn(x-x0).(x-xn-1)+Rn(x)。 四、主要代码 1.拉格朗日插值 建立函数文件: function yt,L=LagInterpl(x,y,xt)syms t;n=length(x);ny=length(y);if n=ny errorendL=0.0;for k=1:n lk=1; for j=1:n if j=k lk=lk*(t-x(j)/(x(k)-x(j); end end; L=L+y(k)*lk;endsimplify(L);L=collect(L);yt=subs(L,t,xt);2. 牛顿插值建立函数文件:function yt,N=NewtInterp(x,y,xt)syms t;n=length(x);ny=length(y);if n=ny errorenda=zeros(1,n);N=y(1);w=1;for k=1:n-1 yy=zeros(1,n); for j=k+1:n yy(j)=(y(j)-y(k)/(x(j)-x(k); end a(k)=yy(k+1); w=w*(t-x(k); N=N+a(k)*w; y=yy;endyt=subs(N,t,xt);simplify(N);N=collect(N);N=vpa(N,6);5、 实验结果及分析1. 拉格朗日插值法 在命令窗口输入: x=1.4,1.5,1.6,1.7,1.8;y=0.3365,0.4055,0.4700,0.5306,0.5878;xt=1.54;yt,L=LagInterpl(x,y,xt);z=1:0.05:4;yz=subs(L,t,z);figure;plot(z,log(z),-r,z,yz,-b)hold onplot(x,y,marker,+)hold onplot(xt,yt,marker,o)legend(ln(x),拉格朗日插值多项式,(x_k,y_k),x=1.54)xlabel(x)ylabel(y)yt得到结果及图像如下:yt = 0.4318得到ln1.54的近似值为0.4318。拉格朗日插值模型简单,结构紧凑,是经典的插值法。但是由于拉格朗日的插值多项式和每个节点都有关,当改变节点个数时,需要重新计算。且当增大插值阶数时容易出现龙格现象。2. 牛顿插值法 在命令窗口输入: x=0.4 0.5 0.6 0.7 0.8;y=0.6325 0.7071 0.7746 0.8367 0.8944;xt=0.54;yt,N=NewtInterp(x,y,xt)z=0.1:0.05:2;yz=subs(N,t,z);figure;plot(z,sqrt(z),-r,z,yz,-b)hold onplot(x,y,marker,+)hold onplot(xt,yt,marker,o)h=legend($sqrtx$,牛顿,$(x_k,y_k)$,$x=0.54$);set(h,Interpreter,latex)xlabel(x)ylabel(y)得到结果及图像如下:yt = 0.7348N =- 0.291667*t4 + 0.925*t3 - 1.30208*t2 + 1.46125*t + 0.2046得到0.54的近似值为0.7348,插值函数为N =- 0.291667*t4 + 0.925*t3 - 1.30208*t2 + 1.46125*t + 0.2046,其计算精度是相当高的。Lagrange插值法和Newton插值法解决实际问题中关于只提供复杂的离散数据的函数求值问题,通过将所考察的函

温馨提示

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

评论

0/150

提交评论