在MATLAB工作窗口输入 >>b=[1;1;1];x=inv(A)*b 运行后结果为 x =397.8654 -157.6242 -123.1120
在MATLAB工作窗口输入 >>A=[3.01
6.03
1.999;1.27
4.16
9.34];A(1,1)=3;A(1,3)=0.990;B=inv(A) 运行输出结果为
B = 3.3424 -6.1983 -1.1705 -1.3269 2.7442 0.5020 -1.0365 2.0682 0.4893 在MATLAB工作窗口输入 >>b=[1;1;1];x=inv(A)*b 运行后输出结果为 x =-4.0264 1.9193 1.5210
-1.23;0.987
-4.81
解方程组(2) 在MATLAB工作窗口输入
>>A=[10 -7 0 1;-3 2.099999 6 2;5 -1 5 -1;2 1 0 2];B=inv(A) 运行后结果为
B =-0.0223 -0.0984 0.1181 0.1686 -0.1601 -0.1181 0.1417 0.2690 0.0108 0.1063 0.0724 -0.0755 0.1024 0.1575 -0.1890 0.1969 在MATLAB工作窗口输入
>>b=[8;5.900001;5;1];x=inv(A)*b 运行后输出结果为 x = 0 -1.0000 1.0000 1.0000
在MATLAB工作窗口输入
>>A=[10 -7 0 1;-3 2.099999 2];A(2,2)=2.1;B=inv(A) 运行后输出结果为
6 2;5 -1 5 -1;2 1 0 B =-0.0223 -0.0984 0.1181 0.1686 -0.1601 -0.1181 0.1417 0.2690 0.0108 0.1063 0.0724 -0.0755 0.1024 0.1575 -0.1890 0.1969 在MATLAB工作窗口输入
>>b=[8;5.900001;5;1];b(2,1)=5.9;x=inv(A)*b 运行后输出结果为 x =-0.0000 -1.0000 1.0000
1.0000 五、实验结果分析:
实验的数学原理很容易理解,也容易上手。把运算的结果带入原方程组,可以发现符合的还是比较好。这说明列主元消去法计算这类方程的有效性。当A可逆时,能够将计算进行到底,列主元法就能确保算法的稳定,而且计算量不大。直接三角消去过程,实质上是将A分解为两个三角矩阵的乘积A=LU,并求解Ly=b的过程。回带过程就是求解上三角方程组Ux=y。所以在实际的运算中,矩阵L和U可以直接计算出,而不需要任何中间步骤,从而在计算过程中
将高斯消去法的步骤进行了进一步的简略,大大提高了运算速度,这就是三角分解法。
通过以上的计算比较,方程组(1)具有严重的病态性。当系数矩阵有微小的变化时,wucha =-401.8918 159.5435 124.6330,所得的解与原方程组的解有很大的相对误差。方程组(2)中当系数矩阵A和b有微小变化时,wucha =0 0 0 0,所得的解与方程组的解没有相对误差。所以方程组(2)是良性的。用MATLAB内部函数inv通过求逆矩阵,然后通过x=inv(A)*b也可以求出方程组的解,但是没有列主元高斯消去法具有良好的稳定性。det函数求方程组系数矩阵的行列式时所得结果和高斯消去法和三角法所得结果相同,具有方便快捷的优点。