2014级硕士研究生数值分析上机实习报告(答案).docVIP

  • 2
  • 0
  • 约4.77千字
  • 约 11页
  • 2017-10-06 发布于重庆
  • 举报

2014级硕士研究生数值分析上机实习报告(答案).doc

2014级硕士研究生数值分析上机实习报告(答案)

2014级硕士研究生数值分析上机实习 (第一次) 姓名: 学号: 学院: 实习题目:分别用二分法和Newton迭代法求方程的根. 实习目的:掌握两种解法,体会两种解法的收敛速度. 实习要求:用C程序语言编程上机进行计算,精确到8位有效数字. 报告内容: 1. 确定实根的个数以及所在区间. 2. 将最后两次计算结果填入下表(保留8位数字): 方法 二分法 Newton法 3. 实习过程中遇到哪些问题?如何解决?有何心得体会? 4. 两种解法的计算程序(此页写不下时可以加页): 【二分法】 #include stdio.h #include math.h float getvalue(float x) { return x*x*x+2*x*x+10*x-20; } void main() { float a=0,b=2,c; c=(a+b)/2; while(fabs(getvalue(c))0.00001 fabs(a-b)0.00001){ if(getvalue(c)*getvalue(b)0) a=c; if(getvalue(a)*getvalue(c)0) b=c; c=(a+b)/2; } printf(%0.7f\n,c); } 【牛顿迭代法】 #include stdio.h #include math.h main() {float x,f,f1; x=8; // x的初值可为任意值 do {f=x*x*x+2*x*x+10*x-20; f1=3*x*x+4*x+10; x=x-f/f1; }while(fabs(f)0.000001); printf(x=%f,f=%f\n,x,f); } 2014级硕士研究生数值分析上机实习 (第二次) 姓名: 学号: 学院: 实习题目:计算8阶三对角矩阵的行列式. 实习目的:掌握计算行列式的方法. 实习要求:首先选择一种算法,然后用C程序语言编程上机进行计算. 报告内容: 1. 简单描述所采用的算法: 2. 计算结果: 3. 实习过程中遇到哪些问题?如何解决?有何心得体会? 4. 写出C语言计算程序(此页写不下时可以加页): #includestdio.h #includemath.h int main() { int n,i,j,k,m,l,SwarpNum=0; double a[10][10],b,temp,result=1; printf(输入行列式阶数:); scanf(%d,n); printf(输入各值:\n); for(i=0;in;i++){ for(j=0;jn;j++) scanf(%lf,a[i][j]); } for(k=0;kn-1;k++){ if(a[k][k]==0){ for(m=n-1;mk;m--){ if(a[m][k]!=0){ for(l=0;ln;l++){ temp=a[k][l]; a[k][l]=a[m][l]; a[m][l]=temp; } SwarpNum++; break; } } } for(i=k+1;in;i++){ b=-a[i][k]/a[k][k]; for(j=k;jn;j++) a[i][j]=a[k][j]*b+a[i][j]; } printf(\n); } for(i=0;in;i++) for(j=0;jn;j++){ if(i==j) result*=a[i][j]; } result=pow(-1,SwarpNum)*result; printf(result=%f\n\n,result); return 0; } 2014级硕士研究生数值分析上机实习 (第三次) 姓名: 学号: 学院: 实习题目:分别用Jacobi迭代法和Gauss-Seidel迭代法求解线性方程组 实习目的:感受两种迭代法的收敛速度. 实习要求:首先构造收敛的Jacobi迭代法和Gauss-Seidel迭代法,然后用C程序语言编程上机进行求解,初始值均取为0,精确到4位小数. 报告内容: 1. 写出收敛的Jacobi迭代法和Gauss-Seidel迭代法: 2. 将最后一次迭代次数 与

文档评论(0)

1亿VIP精品文档

相关文档