计算数值方法实验报告 _太原理工大学(4)

2018-12-17 14:59

计算数值方法实验报告

学院名称 学生姓名 课程名称 计算机科学与技术 某某 数值计算方法 专业班级 实验日期 实验题目 计算机 2011-6-20 学号 成绩 1111111111 实验五 代数插值 一、 课题名称 使用拉格朗日插值法或牛顿插值法求解:已知f(x)在6个点的函数值如下表所示,运用插值方法,求f(0.596)的近似值。 x f(x) 二、 三、 0.40 0.41075 目的和意义 学习使用拉格朗日插值法或牛顿插值法求解 0.55 0.57815 0.65 0.69675 0.80 0.88811 0.90 1.02652 1.05 1.25386 计算公式 设函数在区间[a,b]上n+1互异节点x0,x1,…,xn上的函数值分别为y0,y1,…,yn,求n次插值多项式Pn(x),满足条件 Pn(xj)=yj, j=0,1,…,n 令 Ln(x)=y0l0(x)+y1l1(x)+…+ynln(x)= ∑yili(x) 其中l0(x),l1(x),…, ln(x) 为以x0,x1,…,xn为节点的n次插值基函数,则Ln(x)是一次数不超过n的多项式,且满足 Ln(xj)=yj, L=0,1,…,n 再由插值多项式的唯一性,得 Pn(x)≡Ln(x)

16

计算数值方法实验报告

四、 结构程序设计 #include #include #include typedef struct data { float x; float y; }Data; //变量x和函数值y的结构 Data d[20]; //最多二十组数据 float f(int s,int t) //牛顿插值法,用以返回插商 { if(t==s+1) return (d[t].y-d[s].y)/(d[t].x-d[s].x); else return (f(s+1,t)-f(s,t-1))/(d[t].x-d[s].x); } float Newton(float x,int count) { int n; while(1) { cout<<\请输入n值(即n次插值):\获得插值次数 cin>>n; if(n<=count-1)// 插值次数不得大于count-1次 break; else system(\ } float t=1.0; float y=d[0].y; float yt=0.0; for(int j=1;j<=n;j++) { t=(x-d[j-1].x)*t; yt=f(0,j)*t; y=y+yt; } return y; } float lagrange(float x,int count) { float y=0.0;

17

计算数值方法实验报告

for(int k=0;k>count; if(count<=20) break;//检查输入的是否合法 system(\ } //获得各组数据 for(int i=0;i>d[i].x; cout<<\请输入第\组y的值:\ cin>>d[i].y; system(\ } cout<<\请输入x的值:\获得变量x的值 cin>>x; while(1) { int choice=3; cout<<\请您选择使用哪种插值法计算:\ cout<<\退出\ cout<<\ cout<<\

18

计算数值方法实验报告

cout<<\输入你的选择:\ cin>>choice;//取得用户的选择项 if(choice==2) { cout<<\你选择了牛顿插值计算方法,其结果为:\ y=Newton(x,count);break;//调用相应的处理函数 } if(choice==1) { cout<<\你选择了拉格朗日插值计算方法,其结果为:\ y=lagrange(x,count);break;//调用相应的处理函数 } if(choice==0) break; system(\ cout<<\输入错误!!!!\ } cout<

综合楼六层606室 指导教师 王峥 19

计算数值方法实验报告

学院名称 学生姓名 课程名称 计算机科学与技术 某某 数值计算方法 专业班级 实验日期 实验题目 计算机 2011-6-20 学号 成绩 1111111111 实验六 最小二乘法拟合多项式 一、课题名称 给定数据点(xi ,yi),用最小二乘法拟合数据的多项式,并求平方误差。 xi yi 0 1 0.5 1.75 0.6 1.96 0.7 2.19 0.8 2.44 0.9 2.71 1.0 3.00 二、目的和意义 1.熟练运用已学计算方法求解方程组 2.加深对计算方法技巧,选择正确的计算方法来求解各种方程组 3.培养使用电子计算机进行科学计算和解决问题的能力 三、计算公式 建立正规方程组: ∑(∑xij+k)ak=∑xijyi ,j=0,1,…,n 平方误差: I=∑(∑akxik-yi)2 四、结构程序设计 #include #include #define N 15 double power(double &a,int n) { double b=1; for(int i=0;i

20


计算数值方法实验报告 _太原理工大学(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:人教版二年级下册数学克与千克单元练习题[1]

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: