本科实验报告课程名称:计算机数值方法A实验项目:线性方程组的迭代解法实验地点:综合楼五层502室专业班级:计Z1202学号:2012001653学生姓名:崔会芳指导教师:朱晓军2014年04月05日太原理工大学学生实验报告学院名称计算机科学与技术学院专业班级计Z1202学号2012001653学生姓名崔会芳实验日期3月11日成绩课程名称计算机数值方法实验题目线性方程组的迭代解法一、实验目的和要求(1)了解线性方程组常见的迭代解法:雅可比迭代法、高斯-赛德尔迭代法。(2)加深对线性方程组迭代解法的认识,掌握算法。二、实验内容和原理实验内容:使用雅可比迭代法或高斯-赛德尔迭代法对下列方程组进行求解。实验原理:雅可比迭代法:设线性方程组Ax=b的系数矩阵A可逆且主对角元素a11,a22,……,ann均不为零,令D=diag(a11,a22,……,ann)并将A分解成A=(A-D)+D从而线性方程组可写成Dx=(D-A)x+b则有迭代公式x(k+1)=B1x(k)+f1其中B1=I-D-1A,f1=D-1b。三、主要仪器设备个人计算机、编程软件c-free5.0四、结构程序设计4882107212321321321xxxxxxxxx雅可比迭代法#includestdio.h#includemath.h#includeconio.h#defineN50#defineeps0.001main(){doublex[3]={0,0,0},a[3][3]={12,-1,-2,-1,10,-2,-1,-1,8};doubleb[3]={7,8,4},s1,s2,y[3];inti,k=0,j;do{s2=0;k=k+1;for(i=0;i3;i++){s1=0;for(j=0;j3;j++){if(i==j)continue;s1+=a[i][j]*x[j];}y[i]=(b[i]-s1)/a[i][i];s2+=fabs(x[i]-y[i]);}if(s2eps)printf(迭代次数K=%d\n,k);if(kN){printf(不收敛!);return0;}for(i=0;i3;i++)x[i]=y[i];}while(s2eps);for(i=0;i3;i++)printf(x[%d]=%lf\n,i,x[i]);}五、实验结果与分析雅可比迭代法解方程组实验地点综合楼五层502室指导教师朱晓军