计算数值方法实验报告(共17页).doc
《计算数值方法实验报告(共17页).doc》由会员分享,可在线阅读,更多相关《计算数值方法实验报告(共17页).doc(17页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上课程名称: 计算机数值方法 实验项目:方程求根,线性方程组的直接解法与迭代 解法,代数插值,最小二乘法拟合多项式实验地点: 逸夫楼402 专业班级: 学号: 学生姓名: 指导教师: 于亚男 2012年4月26日专心-专注-专业太原理工大学学生实验报告学院名称软件学院专业班级学号学生姓名 实验日期4月26日成绩课程名称计算机数值方法实验题目 方程求根1、 实验目的和要求(1)了解非线性方程求根的常见方法,如二分法、牛顿法、割线法。(2)加深对方程求根方法的认识,掌握算法。二、实验内容和原理熟悉使用二分法、迭代法、牛顿法、割线法等方法对给定的方程进行根的求解。选择上述方法
2、中的两种方法求方程:f(x)=x3+4x2-10=0在1,2内的一个实根,且要求满足精度|x*-xn|0.510-53、 主要仪器设备 HP笔记本,VC+6.04、 操作方法与实验步骤 1.二分法:#include #include double f(double x) double y; y=pow(x,3)+4*pow(x,2)-10; return (y);main() double a,b,yl,yr,ym,x1,xr,xm;a=1;b=2; yl=f(a); yr=f(b); while(yl*yr0) yl=f(a); yr=f(b); xr=a; x1=b; while(fabs
3、(xr-x1)0.) xm=(x1+xr)/2; ym=f(xm); yl=f(x1); yr=f(xr); if(yl*ym0) xr=xm; else x1=xm;printf(%ft%ft%fn,x1,xr,xm); printf(n所求根为x=%fn,xm); return 0;2.牛顿法:#include #include double f(double x) return (pow(x,3)+4*pow(x,2)-10);double f1(double x) return (3*pow(x,2)+10*x);int main() double x,x1,y1,y2; printf
4、(请输入一个任意实数:X=); scanf(%lf,&x); printf(方程的解为:n); do x1=x; y1=f(x); y2=f1(x1); x=x1-y1/y2; while (fabs(x-x1)=5e-6); printf( %lfn,x1);3.追赶法5、 实验数据记录和处理1. 二分法2. .牛顿法6、 实验结果与分析 通过这个两个程序可看出,二分法的计算量更大一些。7、 讨论、心得 通过这个实验,我了解了线性方程的一些求根方法,对于方程近似值的求解有了更多的理解。实验地点 指导教师于亚男太原理工大学学生实验报告学院名称专业班级学号学生姓名 实验日期4月26日成绩课程名称
5、计算机数值方法实验题目 求解线性方程组一、实验目的和要求(1) 了解直接法解线性方程组(2) 对Gauss消元法、LU分解法、追赶法有更深刻的理解二、实验内容和原理合理利用Gauss消元法、LU分解法、追赶法求解下列方程组: (n=5,10,100,)三主要仪器设备 HP笔记本,VC+6.0四操作方法与实验步骤 1.高斯:#include void main() int i,j,f,n; float a55,b5,x5,l,k; printf(Input n:); scanf(%d,&n); printf(Input a:); for(i=0;in;i+) for(f=0;fn;f+) sca
6、nf(%f,&aif); printf(Input b:); for(i=0;in;i+) scanf(%f,&bi); for(i=0;in-1;i+) for(j=i+1;jn;j+) l=-aji/aii; bj=bj+bi*l; for(f=i;f=0;i-) xi=bi; k=0; for(f=i+1;fn;f+) k=k-aif*xf; xi=(k+bi)/aii; printf(The answer is ); for(i=0;in;i+) printf(%.4f ,xi);2.LU分解:#include #include #define L 30 double aLL,bL,l
7、LL,uLL,xL,yL; int main() int n,i,j,k,r; printf(n=n); scanf(%d,&n); printf(ann=n); for(i=1;i=n;+i) for(j=1;j=n;+j) scanf(%lf,&aij); printf(bn=n); for(i=1;i=n;+i) scanf(%lf,&bi); for(i=1;i=n;+i) for(j=1;j=n;+j) lij=0; uij=0.0; for(k=1;k=n;+k) for(j=k;j=n;+j) ukj=akj; for(r=1;rk;+r) ukj-=lkr*urj; for(i
8、=k+1;i=n;+i) lik=aik; for(r=1;rk;+r) lik-=lir*urk; lik/= ukk; lkk=1.0; for(i=1;i=n;+i) yi = bi; for(j=1;j0;-i) xi = yi; for(j=i+1;j=n;+j) xi-=uij*xj; xi/= uii; for(i=1;i=n;+i) printf(%0.2lfn,xi); return 0; 五实验数据记录和处理1.高斯2.LU分解六、实验结果与分析 本次实验数据较多,在输入上要多费点功夫,一不小心就全部都错了。在今后编程过程中,一定要小心谨慎。七、讨论、心得 通过本次实验,我
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算 数值 方法 实验 报告 17
限制150内