数学实验“线性方程组高斯消去法”实验报告内含matlab程序
西京学院数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强实验课题线性方程组高斯消去法,高斯列主元消去法,高斯全主元消去法实验目的熟悉线性代数方程组高斯消去法,高斯列主元消去法,高斯全主元消去法实验要求运用Matlab/C/C++/Java/Maple/Mathematica等其中一种语言完成实验内容线性方程组高斯消去法线性方程组高斯列主元消去法线性方程组高斯全主元消去法成绩教师实验一实验报告实验名称:线性方程组高斯消去法。实验目的:进一步熟悉理解Guass消元法解法思路,提高matlab编程能力。实验要求:已知线性方程矩阵,利用软件求解线性方程组的解。实验原理:消元过程:设,令乘数,做(消去第i个方程组的)操作×第1个方程+第i个方程(i=2,3,.....n)则第i个方程变为这样消去第2,3,。。。,n个方程的变元后。原线性方程组变为:
这样就完成了第1步消元。回代过程:在最后的一方程中解出,得:再将的值代入倒数第二个方程,解出,依次往上反推,即可求出方程组的解:其通项为实验内容:function maintest2clcclear allA=[1 3 4;2 4 5;1 4 6];%系数矩阵b=[1 7 6]'%常数项num=length(b)for k=1:num-1 for i=k+1:num if A(k,k)~=0 l=A(i,k)/A(k,k); A(i,:)=A(i,:)-A(k,:).*l; b(i)=b(i)-b(k)*l; end endendAb%回代求xx(num)=b(num)/A(num,num);for i=num-1:-1:1 sum=0; for j=i+1:num sum=sum+A(i,j)*x(j); end x(i)=(b(i)-sum)/A(i,i);endxEnd实验结果:A = 1.0000 3.0000 4.0000 0 -2.0000 -3.0000 0 0 0.5000b = 1.0000 5.0000 7.5000x = 16 -25 15