- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
c实现牛顿插值法实验报告
数值实验用Newton商差公式进行插值姓名:陈辉学号系:数据科学与计算机学院专业:计算机科学与技术班级:计科一班日期:2015-10-11指导老师:纪庆革目录一、实验目的3二、实验题目3三、实验原理与基础理论3四、实验内容6五、实验结果10六、心得体会14七、参考资料14八、附录(源代码)14实验目的编写一个程序,用牛顿差商公式进行插值。实验题目编写一个程序,用牛顿差商公式进行插值。实验原理与基础理论牛顿插值公式为:其中,我们将从键盘读入n阶牛顿插值的n+1个节点,以此得出牛顿插值多项式。有了节点,我们只需要求即可。我们记为t[m][k],则t[m][k]在差商表表的位置为(m, k):m \ k012…n023……………n…由的公式可得t[m][k] = (t[m][k-1] - t[m-1][k-1]) / (x[i] – x[i-j]),直观上来看,表中的某格的差商值可由其左边和左上边的值求得,从而牛顿插值多项式变为N(x) = t[0][0] + t[1][1](x-x[0]) + … + t[n][n](x-x[0])…(x-x[n-1])做到这一步,我们已经可以通过上面的数据计算对于给出的x,f(x)的近似值。为了更规范地表示,下面我把N(x)变换成标准的降幂多项式N(x) = a[n]x^n + a[n-1]x^(n-1) + … + a[2]x^2 + a[1]x + a[0]。为了便于运算,不妨先把x-x[i]中的减号换成加号(在最后令y[i]=-x[i],在令x[i]=y[i],仍可以得到原本的结果),那么有:为了便于表示,把记为那么只要把N(x)中的每一项展开然后x次数相同的系数相加就可以得到数组a。于是可以列出下表:x[0]x[1]…x[k]…x[n-1]x[n]t[0]10000t[1]1000t[2]000…t[k]10……………t[n-1]……10t[n]……1表中x[i]列的和就是N(x)中a[i]的值,下面就来求这个和,记c[g][h]的意义为g个数中所有h个数乘积之和,可以由g-1个数中所有h-1个数乘积之和,和g-1个数中所有h个数乘积之和求得,递推公式为c[g][h]=c[g-1][h-1]x[i[h]]+c[g-1][h]。由c[g][h]的意义可以得到递推的边界状态为c[i][0]=x[0]+…+x[i],c[i][i]=x[0]…x[i]。于是我们又可以得到一张数组c的表(初始状态):i \ j01…k…n0x[0]1x[0]+x[1]x[0]x[1]………k……n表的左下角每个空格都可以由其上面的和左上边的格中的值求出。这样,所需要求的所有值都已经得到,只需要通过简单的循环结构就可以算出数组a,从而得到一个降幂的多项式。实验内容实验环境:Mac OS X Yosemite,Sublime Text 2,Xcode,CMD实验步骤:我用一个类封装牛顿插值算法:NewtonInterpolation()为类的初始化:Interpolation()类似于类中的主函数,依此调用下面其他的函数:Input()从键盘读入插值多项式的次数和节点,x[i]和f[i]为节点,y[i]和t[i]将会在后面解释,这里对其进行初始化:MakeTable()用差商表中t[m][k]的递推式求出数组t所有的元素,这里的t已经在Input()中进行过初始化:DivideDifference()为求值公式:PrintTable()输出f[x0,x1]到f[x0,…,xn]的值:Calculate()计算第二部分中最后一张表c数组的值,其中y中的元素等于x中对应元素的相反数,这步操作已在Input()中完成:MakeFormula()运用第二部分中的第二张表,每列累加计算出标准降幂多项式中的系数数组a,并输出到屏幕上:Formula()显示提示并从键盘读入x,然后用整理后的插值多项式计算对应的近似值f(x):程序主函数很简单,创建类并调用函数:由于我是在苹果系统下完成这个实验,生成的可执行文件只能在Mac系统下打开,所以最后我在win虚拟机中编译了一个win下的可执行文件。实验结果第一组:我用练习第一题中的主句进行检验。提示输入多项式次数:提示输入节点:计算出f[x0,x1]到f[x0,…,xn]的值,和将此多项式的系数并显示,这个结果和我手算得结果一致,然后提示输入x:输入x之后计算出f(x)的近似值,然后程序结束:第二组:第一组是二阶的牛顿插值多项式,第二组我用练习题中第五题来测试,这题有五个节点,是四阶牛顿插值多项式。运行结果如下,和我手算得结果一致:心得体会在完成这个程序之前,我进行了大量的计算,特别是把插值形式的式子整理成降幂的多项式那几个步骤。最后编写完成的时候发现结果怎么也不正确
您可能关注的文档
最近下载
- 面向短视频平台的多模态内容分析与语义理解算法深度研究.pdf VIP
- DB44∕T 2696-2025 建筑工程混凝土结构设计标准.pdf
- 道路工程水泥混凝土路面切缝横缝缩缝施工缝施工方案标准版(最全).doc
- 基于PLC的药片自动装瓶系统设计.docx VIP
- 大直径变截面筒仓滑模施工.ppt VIP
- 2025年小学音乐教师职称考试试题及答案.docx VIP
- 职工罢工应急预案.docx VIP
- 中南民族大学2021-2022学年《Python程序设计》期末考试试卷(B卷)及标准答案.docx
- 2021-局部晚期鼻咽癌的化疗诊疗指南解读CSCO.pptx VIP
- 致远M1移动协同软件V5.6.2.PDF VIP
原创力文档


文档评论(0)