拉格朗日牛顿插值法实验报告.docx

拉格朗日牛顿插值法实验报告.docx

ID:58372199

大小:35.70 KB

页数:10页

时间:2020-04-30

拉格朗日牛顿插值法实验报告.docx_第1页
拉格朗日牛顿插值法实验报告.docx_第2页
拉格朗日牛顿插值法实验报告.docx_第3页
拉格朗日牛顿插值法实验报告.docx_第4页
拉格朗日牛顿插值法实验报告.docx_第5页
资源描述:

《拉格朗日牛顿插值法实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、标题:实验一拉格朗日插值法算法与牛顿插值算法一、实验目的:1.体会并了解拉格朗日插值法,用计算机插入x值,输出相应的y值。2.体会并了解牛顿插值法,用计算机插入x值,输出相应的y值。二、实验原理:1.拉格朗日插值法的插值公式:Lnx=k=0nykx-x0x-x1⋯(x-xn)x-xkxk-x0⋯xk-xk-1xk-xk+1⋯(xk-xn)2.牛顿插值法的插值公式:Pnx=fx0+fx0,x1x-x0+fx0,x1,x2x-x0x-x1+⋯+fx0,x1,⋯,xnx-x0⋯x-xn-1fx0,x1,⋯,xk=j=0kf(xj)xj-x0⋯xj-xj-1xj-xj+1⋯xj-xk三、算法

2、设计与程序流程图:1.拉格朗日插值法算法分析:a.输入节点的个数j。b.输入节点的横纵坐标。c.输入新插入的节点的横坐标。d.通过两次循环求得新插入节点的纵坐标。程序流程图:开始输入插值个数j输入插入的x[]、y[]k=0;k<=j-1;k++b1=x[k],b2=y[k]i=0;i<=j-1;i++a=x[i];c=newx-a;w1=w1*c;e=b1-a;e=0?w2=w2*ew2=w2*(e+1)d=newx-b1;f=d*w2;l=b2*w1/f;L=L+l;w1=1;w2=1;输出newy结束1.牛顿插值算法分析:a.输入节点的个数j。b.输入节点的横纵坐标。c.输入新插

3、入的节点的横坐标。d.通过两次循环求得新插入节点的纵坐标。程序流程图:开始输入插入个数j输入插入的x[]、y[]f=0;f<=j-1;f++k=0;k<=f;k++b1=x[k];b2=y[k]i=0;i<=f;i++a=x[i];e=b1-ae=0?w1=w1*ew1=w1*(e+1)l=b2/w1;L=L+l;w1=1;c=newx-b1;w2*cd=L*w2/c;w2=1;P=P+d;L=0;输出newy结束四、源程序:#include"stdafx.h"#include"stdio.h"intmain(){floatx[20],y[20];intk,j,i,flag;floa

4、ta,b1,b2,c,d,e,f,w1,w2,l,L,newx,P;w1=1;w2=1;L=0;P=0;printf("请输入数据,不得超过20组。");printf("输入的数据为几组:");scanf("%d",&j);for(i=0;i<=j-1;i++){printf("第%d组为:",i+1);printf("x=");scanf("%f",&x[i]);printf("y=");scanf("%f",&y[i]);}printf("请选择:1,拉格朗日插值。2,牛顿插值。0,退出。");scanf("%d",&flag);if(flag==1){printf(

5、"请输入插入的数值:");scanf("%f",&newx);for(k=0;k<=j-1;k++){b1=x[k];b2=y[k];for(i=0;i<=j-1;i++){a=x[i];c=newx-a;w1=w1*c;e=b1-a;if(e!=0){w2=w2*e;}if(e==0){e=e+1;w2=w2*e;}}d=newx-b1;f=d*w2;printf("f=%f",f);l=b2*w1/f;printf("l=%f",l);L=L+l;w1=1;w2=1;}printf("newy=%f",L);}if(flag==2){printf("请输入插入的数值:")

6、;scanf("%f",&newx);for(f=0;f<=j-1;f++){for(k=0;k<=f;k++){b1=x[k];b2=y[k];for(i=0;i<=f;i++){a=x[i];e=b1-a;if(e!=0){w1=w1*e;}elseif(e==0){e=e+1;w1=w1*e;}}l=b2/w1;L=L+l;w1=1;c=newx-b1;w2=w2*c;}d=L*w2/c;w2=1;P=P+d;L=0;}printf("newy=%f",P);}if(flag==0){return0;}}四、程序执行情况:1.拉格朗日插值法:2.牛顿插值法:四、结果分析:引用课

7、本例2进行拉格朗日插值法验证,与课本上的结果相一致,引用课本例4进行牛顿插值法验证,与课本答案相差0.,是因为课本的有效数字与计算机取得不同,所以经过计算、运行基本达到了预期效果。此程序可以用做数学计算。五、实验体会:经过此次实验基本上了解了拉格朗日插值法的算法和牛顿插值法算法的过程,对以后算法的运用和其他算法的理解有帮助,而且有助于编程能力的提高和实际问题的理解。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。