网站大量收购独家精品文档,联系QQ:2885784924

用C++编程牛顿插值.doc

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用C编程牛顿插值

班级: 信科××××班 学号: ××× 姓名: ××× 成绩 数值分析实验报告 实验2 插值与拟合 2.1 实验目的 掌握牛顿插值法的基本思路和步骤;掌握最小二乘法的基本思路和拟合步骤。 培养编程与上机调试能力。 2.2 算法描述 2.2.1 牛顿插值法基本思路 给定插值点序列(构造牛顿插值多项式。输入要计算的函数点并计算的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面的各项系数恰好又是各阶差商,而各阶差商可用差商公式来计算。 2.2.2 牛顿插值法计算步骤 1. 输入值及(;要计算的函数点。 2. 对给定的由 计算的值。 3. 输出。 2.2.3 最小二乘法基本思路 已知数据对,求多项式 使得为最小,这就是一个最小二乘问题。 2.2.4 最小二乘法计算步骤 用线性函数为例,拟合给定数据。 算法描述: 步骤1:输入值,及。 步骤2:建立法方程组。 步骤3:解法方程组。 步骤4:输出。 2.3 实验内容 1. 给定构造牛顿插值函数计算。 2. 已知一组数据如下,求它的线性拟合曲线。 2.4 实验步骤 第一步:1.设置存放数据的二维数组A[50][50]和获取坐标的以为数组x[50],y[50] 2.从键盘输入说要用的牛顿插值的阶数,并且输入所用的纵横坐标。 第二步:利用循环求各阶均差。 第三步:输入所要求的纵坐标的值,根据牛顿差值公式计算函数值。 第四步:输出各阶均差的值和所求的函数值。 2.4.1 代码 #include iostream.h #include math.h void main() { int n,i,j; double A[50][50]; double x[50],y[50]; double K=1,X=0,N=0,P; cout请输入所求均差阶数:; cinn; for(i=0;i=n;i++) { cout请输入xi=; cinx[i]; cout请输入yi=; ciny[i]; A[i][0]=x[i]; A[i][1]=y[i]; } for(j=2;j=n+1;j++) { for(i=1;i=n;i++) { A[i][j]=(A[i][j-1]-A[i-1][j-1])/(A[i][0]-A[i-j+1][0]); } } for(i=0;i=n;i++) { cout输出第i阶均差为:A[i][i+1]endl; } cout请所要代入计算的x的值:X=; cinX; for(i=0;in;i++) { K*=X-x[i]; N+=A[i+1][i+2]*K; P=A[0][1]+N; } cout所要求的函数值为:y=Pendl; } 2.4.2 实验结果 2.5 实验体会 ×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档