《计算方法》实验报告

上传人:hs****ma 文档编号:512675157 上传时间:2022-12-11 格式:DOCX 页数:9 大小:276.08KB
返回 下载 相关 举报
《计算方法》实验报告_第1页
第1页 / 共9页
《计算方法》实验报告_第2页
第2页 / 共9页
《计算方法》实验报告_第3页
第3页 / 共9页
《计算方法》实验报告_第4页
第4页 / 共9页
《计算方法》实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《《计算方法》实验报告》由会员分享,可在线阅读,更多相关《《计算方法》实验报告(9页珍藏版)》请在金锄头文库上搜索。

1、计算方法实验报告学号姓名班级实验项目名称计算方法实验一、实验名称实验一插值与拟合二、实验目的:(1)明确插值多项式和分段插值多项式各自的优缺点;(2)编程实现拉格朗日插值算法,分析实验结果体会高次插值产生的龙格现象;(3)运用牛顿插值方法解决数学问题。三、实验内容及要求1(1)对于 f ( 一 5 x 51 + X 2要求选取11个等距插值节点,分别采用拉格朗日插值和分段线性插值,计算x为0.5, 4.5处的函数 值并将结果与精确值进行比较。输入:区间长度,n(即n+1个节点),预测点 输出:预测点的近似函数值,精确值,及误差(2)已知的二1,4二2,9二3,用牛顿插值公式求J5的近似值。 输

2、入:数据点集,预测点。输出:预测点的近似函数值四、实验原理及算法描述算法基本原理:(1)拉格朗日插值法对某个雾项式函数,已知有给定的P+ 个取值点:险)(坯趨订其中巧对应着自变星的位置,而的对应着函数在去个位置的取借假设任意两个不同的号都互不相同”那么应用拉格朗日插值公式所得到的拉格朗日插值寥顷式为:比)=工j=o其中每个与(工)为拉格餌日基本寡酿式(或称擂值基函数) &X,vectorvdouble &Ydouble x)double result=0;for(int i=0;ivN;i+)double temp=Yi;for(int j=O;jvN;j+)if(i!=j)temp = te

3、mp*(x-Xj);temp = temp/(Xi-Xj);result += temp;return result;B:分段线性插值#includeviostream#include#includeusing namespace std;double fenduan(int N,vector&X,vector&Ydouble x,double c ); int main()double p,b,c;char a=n;docoutvv请输入差值次数n的值:vvendl;int N;cinN;vectorvdoubleX(N,0);vectorvdoubleY(N,0);coutvv请输入区间长

4、度(a,b): vvendl;cinp;cinb;c=b-p;c=c/(N-1);for(int i=0;ivN;i+)Xi=p;Yi=l/(l+p*p);P=P+C;coutvv请输入要求值X的值:vvendl;double x;cinx;double result=fenduan(N,X,Yx,c);coutvv由分段线性插值法得出结果:wresultwendl;coutvv是否要继续?(y/n):; cina;while(a=y);return 0;double fenduan(int N,vectorvdouble &X,vectorvdouble &Ydouble x,double

5、c) double result=0;int b;b=0;while(x-Xbc)b=b+1;result=Yb*(l-(x-Xb)/c)+Yb+l*(x-Xb)/c);return result;(3)牛顿插值法#includeviostream#includevstring#includevvectorusing namespace std;double ChaShang(int n,vectorvdouble &X,vectorvdouble &Y);double Newton(double x,vectorvdouble &X,vectorvdouble &Y);int main()c

6、har a=n;doint n;coutvv请输入插值点个数:vvendl;cinn;vectorvdoubleX(n,0);vectorvdoubleY(n,0);coutvv请输入插值点对应的值及函数值(Xi,Yi): vvendl;for(int i=0;ivn;i+)cinXiYi;coutvv请输入要求值x的值:vvendl;double x;cinx;coutvv由牛顿插值法得出结果:vvNewton(x,X,Y)vvendl; coutvv是否要继续?(y/n):;cina;while(a=y);return 0;double ChaShang(int n,vectorvdoub

7、le &X,vectorvdouble &Y)double f=0;double temp=0; for(int i=0;ivn+l;i+)temp=Yi;for(int j=O;jvn+1;j+) if(i!=j) temp /= (Xi-Xj);f += temp;return f;double Newton(double x,vectorvdouble &X,vectorvdouble & Y)double result=0;for(int i=O;ivX.size();i+)double temp=1;double f=ChaShang(i,X,Y);for(int j=O;jvi;j

8、+)temp = temp*(x-Xj);result += f*temp;return result;六、实验总结1通过实验一数据发现,拉格朗日插值在低次插值时,同源函数偏差并不大,但在高次插值 时同原函数偏差大、存在明显的龙格现象,而分段线性插值可以避免出现的龙格现象,与 原函数比较吻合,但是分段线性插值由于其分段属性,使得插值函数失去光滑性,可以考 虑采用Hermite插值优化。2.通过实验二计算过程发现,拉格朗日插值法的线性插值的计算过程没有继承性,即增加一 个节点时整个计算工作必须重新开始。而牛顿插值则避免了这一问题,这样大量的节省了 乘、除法运算次数,减少了计算的时间。因此,对于一些结构相当复杂的函数,牛顿插值 法比拉格朗日插值法要占优势。五、教师评语(或成绩)教师签字:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号