你们好,最近小未来发现有诸多的小伙伴们对于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分解这篇文章的一些介绍,希望对大家有所帮助。
X 关闭
Copyright © 2015-2022 北冰洋养生网版权所有 备案号:沪ICP备2020036824号-3 联系邮箱:562 66 29@qq.com