实验报告-插值法..docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验报告-插值法.

计算机上机实验报告 专业和班级 姓名 成绩 学号 课程名称 数值计算方法 实验名称 插值法 实 验 目 的 和 要 求 实验目的 掌握用MATLAB计算拉格朗日、分段线性、三次样条三种插值的方法,改变节点的数目,对三种插值结果进行初步分析。 掌握用MATLAB作线性最小二乘的方法。 通过实例学习如何用插值方法与拟合方法解决实际问题,注意二者的联系和区别。 实 验 内 容 和 步 骤 实验的主要内容 编制拉格朗日、牛顿插值程序,并运行一个简单的实例。 拉格朗日插值程序: function v=polyinterp(x,y,u) n=length(x); v=zeros(size(u)); for k=1:n w=ones(size(u)); for j=[1:k-1 k+1:n] w=(u-x(j))./(x(k)-x(j)).*w; end v=v+w*y(k); end 实例:当x=144,169,225时,y=12,13,15,用拉格朗日差值法求根号175。如下: 牛顿插值程序: function y=newinterp(X,Y,x)% 牛顿插值函数 m=length(X); for k=2:m for j=1:k-1 Y(k)= (Y(k)- Y(j))/(X(k)-X(j)); end end y=Y(m); for j=m-1:-1:1 y=y.*(x-X(j))+Y(j); end 实例:当x=144,169,225时,y=12,13,15,用牛顿差值法求根号175。如下: 给定函数 ,已知: 用牛顿插值法求4次Newton插值多项式在2.15处的值,以此作为函 3.选择函数y=exp(-x2) (-2≤x≤2),在n个节点上(n不要太大,如5~11)用拉格朗日、分段线性、三次样条三种插值方法,计算m个插值点的函数值(m要适中,如50~100)。通过数值和图形输出,将三种插值结果与精确值进行比较。适当增加n,在作比较,由此作初步分析。 程序: %不同插值方法是否会出现震荡runge现象 %M文件 function runge10 [X,Y]=fenduan(10,1);%将[-1,]区间分成10等份,返回对应的(x,y)五组数据 x=linspace(-2,2,100);%将[-1,1]划分成100等份,以便作出样条插值多项式的图形。 for i=1:length(x)%绘制原函数曲线图 y(i)=exp(-x(i)^2); end hold on plot(x,y); text(0,1,\leftarrow原函数)%对曲线添加标注 y=newinterp(X,Y,x);%多项式插值中的牛顿插值法 hold on plot(x,y); title(插值函数中的runge现象,区间等分为10段); %添加标题 xlabel(X轴); ylabel(Y轴); text(-0.9,1.5,\leftarrow牛顿插值)%对曲线添加标注 y=interp1(X,Y,x); plot(x,y); text(-0.4,0.8521,\leftarrow分段线性插值) cs=spline(X,[0 Y 0]);%调用spline函数插值,y比x多两个元素。 plot(X,Y,o,x,ppval(cs,x),-);%做样条多项式的图形 text(-1.2,0.2369,\leftarrow样条插值) function [X,Y]=fenduan(n,b)%将区间等分成n份,并求对应点上的函数值 for i=1:n+1 X(i)=-2+(4*(i-1))/n; Y(i)=exp(-X(i)^2); end function y=newinterp(X,Y,x)% 牛顿插值函数 m=length(X); for k=2:m for j=1:k-1 Y(k)= (Y(k)- Y(j))/(X(k)-X(j)); end end y=Y(m); for j=m-1:-1:1 y=y.*(x-X(j))+Y(j); end 结 果 的 研 究 与 探 讨 将三种插值结果相比较,显然分段线性插值法在节点处不光滑,拉格朗日值出现较大的振荡,样条差值的结果是最好的,改变n的值,运行程序,得到的图形如右图所示,比较这两个图可发现,节点增加后,三种插值方法结果的准确度均

文档评论(0)

shenlan118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档