中北大学数值1-4实验重点解读.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验类别:数值分析 专 业:信息与计算科学 班 级 学 号:1308024120 姓 名:杨燕 中北大学理学院  PAGE \* MERGEFORMAT 3 实验一 函数插值方法 【实验内容】 给定一元函数的个节点值, 数据如下:  0.4 0.55 0.65 0.80 0.95 1.050.410750.578150.696750.90 1.001.25382求五次Lagrange多项式或分段三次插值多项式或Newton插值多项式,并计,的值。(提示:结果为≈0.625732, ≈1.05423) 【实验方法与步骤】 利用Lagrange插值公式 ,用C语言编写出插值多项式程序如下: #include stdio.h #define N 5 float x[]={0.4,0.55,0.65,0.80,0.95,1.05}; float y[]={0.41075,0.57815,0.69675,0.90,1.00,1.25382}; float p(float xx) { int i,k; float pp=0,m1,m2; for(i=0;i=N;i++) { m1=1;m2=1; for(k=0;k=N;k++) if(k!=i) { m1*=xx-x[k]; m2*=x[i]-x[k]; } pp+=y[i]*m1/m2; } return pp; } main() { printf(f(0.596)=%lf\n,p(0.596)); printf(f(0.99)=%lf\n,p(0.99)); } 【实验结果】 【思考】 1、给出的程序求行不行,精度高不高? 2、五次Lagrange多项式与Newton插值多项式是同一个多项式吗? 五次Lagrange多项式与Newton插值多项式是同一个多项式。 3、为什么高次插值不能令人满意? 一般来说,节点个数越多,插值函数和被插值函数就有越多的地方相等。但是随着插值节点个数的增加,两个插值节点之间插值函数并不一定能够很好地逼近被插值函数。再次,从舍入误差看,高次插值由于计算量大,可能会产生更严重的误差积累,所以,稳定性得不到保证。此时就会出现龙格现象。 实验类别:数值分析 专 业:信息与计算科学 班 级 学 号:1308024120 姓 名:杨燕 中北大学理学院  PAGE \* MERGEFORMAT 7 实验二 函数逼近与曲线拟合 【实验内容】 1、编写出Legendre、Chebyshev多项式的程序; 2、从随机的数据中找出其规律性,给出其近似表达式,在生产实践和科学实验中大量存在,通常利用数据的最小二乘法求得拟合曲线。例如在某冶炼过程中,根据统计数据的含碳量与时间关系,试求含碳量与时间的拟合曲线。 (分)051015202530354045505501.72.162.863.443.874.154.374.514.584.024.64111111111111【实验方法与步骤】 1、用C编写语言出Legendre多项式的程序如下: #include stdio.h double p(int n, double x) { if(n==0) return 1; else if(n==1) return x; else return ((2*n-1)*x*p(n-1,x)-(n-1)*p(n-2,x))/n; } int main() { int n; double x; double y; printf(input n, x:\n); scanf(%d%lf,n,x); y=p(n,x); printf(%lf\n,y); return 0;

文档评论(0)

美洲行 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档