你们好,最近小未来发现有诸多的小伙伴们对于LU分解课程,lu分解这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 首先,下图是一组需要求解的线性方程组,参考王等人《MATLAB科学计算》的内容。
2、 其次,启动MATLAB,创建一个新脚本,并输入以下代码:
3、 close all; clear all; clc
4、 % MATLAB使用LU分解法求解线性方程组
5、 % A是线性方程组等号左边的系数矩阵。
6、 % b是线性方程组等号右边的常数矩阵。
7、 format compact
8、 A=[1.5 3 -0.8 4;2 0 9 10;-7 4.8 -0.6 1;14 12.3 -4 5];
9、 b=[4 0 1 -2]';
10、 [L,U]=lu(A)
11、 X=U\(L\b)
12、 第三,保存并运行上面的代码。线性方程的解如下:
13、 X=
14、 -0.3721
15、 -0.8291
16、 -1.5336
17、 1.4547
18、 第四,通过如下的lu分解方法获得变换后的下三角矩阵L(具有行变换)和上三角矩阵U:
19、 L=
20、 0.1071 0.1536 0.0031 1.0000
21、 0.1429 -0.1605 1.0000 0
22、 -0.5000 1.0000 0 0
23、 1.0000 0 0 0
24、 U=
25、 14.0000 12.3000 -4.0000 5.0000
26、 0 10.9500 -2.6000 3.5000
27、 0 0 9.1542 9.8474
28、 0 0 0 2.8965
29、 第五,验证变换后的下三角矩阵L(带行变换)和上三角矩阵U,即L*U是否等于A,在命令窗口输入L*U,回车得到如下结果,如A=LU所示。这里需要注意的是L*U,不是L.*U。*表示矩阵每个元素的乘法,*表示矩阵的乘法。
30、 第六,验证解决方案,在命令行窗口输入A*X,回车得到如下结果。可以看出A*X=b,即结果是正确的,说明LU分解法求解线性方程组是有效的。
以上就是lu分解这篇文章的一些介绍,希望对大家有所帮助。