数值分析实验二.docxVIP

  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文档。上传文档
查看更多
 数值分析实验二

内江师范学院数值分析实验报告册编制张莉审定牟廉明专业:数学与应用数学班级:级班学号:姓名:数学与信息科学学院2013年9月实验名称:实验二插值与拟合指导教师:吴开腾张莉实验时数:4实验设备:安装了Matlab、C++、VF软件的计算机实验日期:2013年10月23日实验地点:第五教学楼北902 实验目的:1. 掌握插值方法的基本思想和基本步骤,能够根据实际问题选用适当地插值方法进行数值实验,并从实验过程中理解各类插值方法之间的联系与区别。2. 理解各类插值方法优缺点,并能自行编程求解。3. 理解插值方法与数据拟合的区别,掌握数据拟合方法解决实际问题的基本步骤和求解理论,并能通过数值实验进行验证。实验准备:1. 在开始本实验之前,请回顾教科书的相关内容;2. 需要一台准备安装Windows XP Professional操作系统和装有数学软件的计算机。实验内容及要求A题在某海域测得一些点处的水深由表1给出,在矩形区域内画出海底曲面的图形;若船的吃水深度为5英尺,请问在矩形区域里的哪些地方船要避免进入。表1 海域数据表129140103.58818551415137.585.54868688157.5107.57781162162117.5-6.5-81356.5-66.584-33题设从某一实验中测得2个变量和的一组数据表2所示。表2 变量关系数据表12345678913456789101054211234求一代数多项式曲线,使其最好地拟合这组给定数据。要求:请用多项式和指数模型进行曲线拟合,观察其结果的精度,再直接调用polyfit命令进行比较。C题考察函数(1)设计插值方案,构造龙格(Runge)现象。(2)设计插值方法消除龙格(Runge)现象,要求至少用分段线性插值和分段三次插值两种算法进行设计,并比较两种算法的精度。D题已知数据(表3)表3 数据表0.561600.562800.564010.565210.827410.826590.825770.81495要求:试用Lagrange插值多项式求时的函数近似值.说明:实验过程应包括对问题的简要分析、求解方法、求解步骤、程序及其必要的图表等内容。实验过程:D题一、问题分析及求解方法因为Lagrange插值多项式为,根据表3可知,已知4个插值点。若给定两个插值点其中,在公式中取,则插值多项式为:若函数给定三个插值点,,其中互不相等,在公式中取,则插值多项式为:以此类推。采用C语言编程进行计算。设计出算法。↓输入已知点个数n↓输入已知点的X坐标以及输入已知点的Y坐标↓调用函数lagrange函数↓二、求解步骤及程序根据设计的算法编写出C语言程序。首先计算x=0.5626的函数近似值,所以程序中的xx=0.5626。运行以下程序:#includestdio.h#includemath.h#define N 4double lagrange(double x[N],double y[N],double xx){double yy,t; int j,k; yy=0.0; for(j=0;jN;j++) {t=1.0; for(k=0;kN;k++) if(k!=j)t=t*(xx-x[k])/(x[j]-x[k]); yy=yy+t*y[j]; } return yy;}void main(){double xx,yy; double x[N]={ 0.56160, 0.56280,0.56401, 0.56521}; double y[N]={ 0.82741,0.82659, 0.82577, 0.81495}; xx=0.5626; yy=lagrange(x,y,xx); printf(y=%f\n,yy);}可得到运行结果yy=0.8265再将上面程序中xx的值改为0.5635,运行程序,得到运行结果yy=0.8267再将上面程序中xx的值改为0.5645,运行程序,得到运行结果yy=0.8231综上可得x=0.5626,0.5635,0.5645时的函数近似值分别为0.8265,0.8267,0.8231。实验总结(由学生填写):这个实验不难。在实验过程中遇到的主要困难是编写程序的过程,第一次编写出的程序有十多个错误,参考c语言教程以及询问同学,最后把程序改正确了,并且运行出了合理的结果。在这过程中发现了自己很多关于编程的不足,也都一一改正了。收获很大。

文档评论(0)

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

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

1亿VIP精品文档

相关文档