1、数值计算方法上机作业一 消元法解线性方程组1.列主元消元法题目:用列主元消元法解线性方程组 AX=B.-30 2e15 2e15 0.4 A= 1 0.78125 0 B= 1.3816 3.996 5.5625 4 7.4178 1.1 列主元消元法原理:Gauss 消元法中,当主元为 0 时,消元无法进行。并且当主元的绝对值比非主元的绝对值小的多时,将产生较大的舍入误差。列主元消元法是最简单的主元消元法,具体做法是在作第 k 步 Gauss 消元前,先在 akk(k-1)及其所在列的下方元素 ak+1,k(k-1),ak+2,k(k-1), 、 、 、,a nk(k-1)中选取绝对值较大的
2、元素作为主元。如果 |akk(k-1)| 最大,则直接作第 k步 Guass 消元,否则将主元所在的方程与第 k 个方程对换位置,然后进行第 k 步 Guass 消元。这样可以解决消元不能进行到底的问题,以及大部分由于 | akk(k-1) | 太小而引起的失真问题。1.2.程序源代码:/*列主元消元法解线性方程组*/#include#include#includevoid main()unsigned char i,j,n,m;double m_Para,AB1010,m_x10;/*系统参数输入*/cout“;数值计算方法上机作业cinn;cout“;cinm;coutABij;/*以下循
3、环用于消元*/for(j=0;jp)p=z;l=i;if(l!=j)/*交换方程*/for(b=j;b=0;i-) m_Para=0.0;int b;for(b=i+1;b#include#includevoid main()int i,j,n,m;double d;double a34,x3,h3=0.0,0.0;cout“;cinn;cout“;cinm;/输入原始增广矩阵for(i=0;iaij;/找出系数局阵每行中绝对值最大的数for(i=0;ip)p=z;l=i;if(l!=j)for(b=j;b=0;i-)d=0.0;int b;for(b=i+1;b#include#includeint main()int i,j,n,m,count=1;double e=1.0,jd;for(i=0;inm;double c1011,a1011;double x110;/以下循环用于输入矩阵的系数数值计算方法上机作业coutcij;coutx1i;coutjd;coutendl;/生成迭代矩阵for(i=0;in;i+) for(j=0;jm;j+)if(i!=j)aij=cij/cii;elseaij=0.0;