《计算方法》实验报告

上传人:汽*** 文档编号:511935343 上传时间:2023-04-19 格式:DOC 页数:9 大小:470.50KB
返回 下载 相关 举报
《计算方法》实验报告_第1页
第1页 / 共9页
《计算方法》实验报告_第2页
第2页 / 共9页
《计算方法》实验报告_第3页
第3页 / 共9页
《计算方法》实验报告_第4页
第4页 / 共9页
《计算方法》实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

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

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

2、近似值。输入:数据点集,预测点。输出:预测点的近似函数值四、实验原理及算法描述算法基本原理:(1)拉格朗日插值法对某个多项式函数已知有给走的1个取值点:(匸山1 1 (无斛班)具中叼对应看自变呈的位置而的对应看函数在这个位置的取值。假设任意两个不同的屯都互不相同那么应用拉格朗日插值公式所得到的拉格朋日插值务项式为:乙仗):=D恥)J=0其中每个与为拉格明日基本釦页式(或称插値基函数),其表达式为:f匕)_ n王的一(工观)(巧J(一工田)9坯)圉3丄,j叼 7 (叼-呦)(巧-巧7)(叼-巧+1)(衍-以)拉格朗日基本多项式Zj()的特点是在叼上取值为1,在其它的点斗J # j上取值为0*(2

3、)牛顿插值法(x) = /(x0)+/x0,xl(x-) + /xpjr1,xJ(x-i:(J)(x-xl)兀(丈一工业)(兀一 xj(兀-工”)算法流程五、程序代码及实验结果(1) 输出:A .拉格朗日插值法B.分段线性插值Xy(精确)y(拉格朗日)y(分段线性)误差(拉)误差(分)0.5000000.8000000.8434070.750000-0.0542590.0500004.5000000.0470591.5787200.0486425-32.547674-0.033649(2) 输出:Xy(精确)y(牛顿插值) 误差(牛顿插值)5.000002.2360682.266670-0.0

4、13686源码:(1) A.拉格朗日插值法#in clude#in clude#in cludeusing n amespace std;double Lagra nge(i nt N,vector &X,vector&Ydouble x);int mai n()double p,b,c;char a= n:docout请输入差值次数 n的值:N;vectorX(N,0);vectorY(N,0);cout请输入区间长度(a,b): p;cin b;c=b-p;c=c/(N-1);for(int i=0;iN;i+)Xi=p;Yi=1/(1+p*p);p=p+c;cout请输入要求值 x的值:

5、 x;double result=Lagrange(N,X,Y ,x);cout由拉格朗日插值法得出结果:resultendl;cout a;while(a=y);return 0;double Lagra nge(i nt N,vector &X,vector&Y double x)double result=0;for(int i=0;iN;i+)double temp=Yi;for(i nt j=O;jN;j+)if(i!=j)temp = temp*(x-Xj);temp = temp/(Xi-Xj);result += temp;return result;B :分段线性插值#in

6、clude#in clude#in cludeusing n amespace std;double fen dua n(i nt N,vector &X,vector&Y,double x,double c );int mai n()double p,b,c;char a= n;docout请输入差值次数 n的值:N;vectorX(N,0);vectorY(N,0);cout请输入区间长度(a,b): p;cin b;c=b-p;c=c/(N-1);for(int i=0;iN;i+)Xi=p;Yil=1/(1+p*p);p=p+c;cout请输入要求值 x的值: x;double res

7、ult=fenduan(N,X,Y ,x,c);cout由分段线性插值法得出结果:resultendl;cout a;while(a=y);return 0;double fen dua n(i nt N,vector &X,vector&Y,double x,double c)double result=0;int b;b=0;while(x-Xbc)b=b+1; result=Yb*(1-(x-Xb)/c)+Yb+1*(x-Xb)/c);return result;(3)牛顿插值法#in clude#in clude#in cludeusing n amespace std;double

8、ChaSha ng(i nt n, vector&X,vector&Y);double Newt on( double x,vector &X,vector&Y);int mai n()char a= n;doint n;cout请输入插值点个数:e ndl;cinn;vectorX (n, 0);vector Y(n, 0);cout请输入插值点对应的值及函数值(Xi,Yi) : endl;for(int i=0;iXiYi;cout请输入要求值x的值: x;cout由牛顿插值法得出结果:Newton(x,X,Y)endl;cout a;while(a=y); return 0;double

9、 ChaSha ng(int n,vector&X,vector&Y)double f=0;double temp=0;for(int i=0;in+1;i+)temp=Yi;for(i nt j=O;j n+1;j+) if(i!=j) temp /= (Xi-Xj);f += temp;return f;double Newt on( double x,vector &X,vector &Y)double result=0;for(i nt i=O;iX.size();i+)double temp=1;double f=ChaSha ng(i,X,Y);for(i nt j=0;ji;j+

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

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

当前位置:首页 > 商业/管理/HR > 商业计划书

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