欢迎来到天天文库
浏览记录
ID:38744728
大小:378.99 KB
页数:9页
时间:2019-06-18
《《计算方法》实验报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机科学与工程学院《计算方法》实验报告学号姓名班级实验项目名称计算方法实验一、实验名称实验一插值与拟合二、实验目的:(1)明确插值多项式和分段插值多项式各自的优缺点;(2)编程实现拉格朗日插值算法,分析实验结果体会高次插值产生的龙格现象;(3)运用牛顿插值方法解决数学问题。三、实验内容及要求(1)对于要求选取11个等距插值节点,分别采用拉格朗日插值和分段线性插值,计算x为0.5,4.5处的函数值并将结果与精确值进行比较。输入:区间长度,n(即n+1个节点),预测点输出:预测点的近似函数值,精确
2、值,及误差(2)已知用牛顿插值公式求的近似值。输入:数据点集,预测点。输出:预测点的近似函数值四、实验原理及算法描述算法基本原理:(1)拉格朗日插值法9计算机科学与工程学院(1)牛顿插值法9计算机科学与工程学院算法流程9计算机科学与工程学院二、程序代码及实验结果(1)输出:A.拉格朗日插值法B.分段线性插值9计算机科学与工程学院Xy(精确)y(拉格朗日)y(分段线性)误差(拉)误差(分)0.5000000.8000000.8434070.750000-0.0542590.0500004.5000
3、000.0470591.5787200.0486425-32.547674-0.033649(1)输出:Xy(精确)y(牛顿插值)误差(牛顿插值)5.000002.2360682.266670-0.013686源码:(1)A.拉格朗日插值法#include#include#includeusingnamespacestd;doubleLagrange(intN,vector&X,vector&Y,doublex)
4、;intmain(){9计算机科学与工程学院doublep,b,c;chara='n';do{cout<<"请输入差值次数n的值:"<>N;vectorX(N,0);vectorY(N,0);cout<<"请输入区间长度(a,b):"<>p;cin>>b;c=b-p;c=c/(N-1);for(inti=0;i5、:"<>x;doubleresult=Lagrange(N,X,Y,x);cout<<"由拉格朗日插值法得出结果:"<>a;}while(a=='y');return0;}doubleLagrange(intN,vector&X,vector&Y,doublex){doubleresult=0;for(inti=0;i6、p=Y[i];for(intj=0;j9计算机科学与工程学院#include#includeusingnamespacestd;doublefenduan(intN,vector&X,vector&Y,do7、ublex,doublec);intmain(){doublep,b,c;chara='n';do{cout<<"请输入差值次数n的值:"<>N;vectorX(N,0);vectorY(N,0);cout<<"请输入区间长度(a,b):"<>p;cin>>b;c=b-p;c=c/(N-1);for(inti=0;i8、x的值:"<>x;doubleresult=fenduan(N,X,Y,x,c);cout<<"由分段线性插值法得出结果:"<>a;}while(a=='y');return0;}doublefenduan(intN,vector&X,vector&Y,doublex,doublec){doubleresult=0;intb;b=0;while(x-X
5、:"<>x;doubleresult=Lagrange(N,X,Y,x);cout<<"由拉格朗日插值法得出结果:"<>a;}while(a=='y');return0;}doubleLagrange(intN,vector&X,vector&Y,doublex){doubleresult=0;for(inti=0;i6、p=Y[i];for(intj=0;j9计算机科学与工程学院#include#includeusingnamespacestd;doublefenduan(intN,vector&X,vector&Y,do7、ublex,doublec);intmain(){doublep,b,c;chara='n';do{cout<<"请输入差值次数n的值:"<>N;vectorX(N,0);vectorY(N,0);cout<<"请输入区间长度(a,b):"<>p;cin>>b;c=b-p;c=c/(N-1);for(inti=0;i8、x的值:"<>x;doubleresult=fenduan(N,X,Y,x,c);cout<<"由分段线性插值法得出结果:"<>a;}while(a=='y');return0;}doublefenduan(intN,vector&X,vector&Y,doublex,doublec){doubleresult=0;intb;b=0;while(x-X
6、p=Y[i];for(intj=0;j9计算机科学与工程学院#include#includeusingnamespacestd;doublefenduan(intN,vector&X,vector&Y,do
7、ublex,doublec);intmain(){doublep,b,c;chara='n';do{cout<<"请输入差值次数n的值:"<>N;vectorX(N,0);vectorY(N,0);cout<<"请输入区间长度(a,b):"<>p;cin>>b;c=b-p;c=c/(N-1);for(inti=0;i8、x的值:"<>x;doubleresult=fenduan(N,X,Y,x,c);cout<<"由分段线性插值法得出结果:"<>a;}while(a=='y');return0;}doublefenduan(intN,vector&X,vector&Y,doublex,doublec){doubleresult=0;intb;b=0;while(x-X
8、x的值:"<>x;doubleresult=fenduan(N,X,Y,x,c);cout<<"由分段线性插值法得出结果:"<>a;}while(a=='y');return0;}doublefenduan(intN,vector&X,vector&Y,doublex,doublec){doubleresult=0;intb;b=0;while(x-X
此文档下载收益归作者所有