矩阵及其基本运算(8)

2019-04-16 14:47

MATLAB6.0数学手册 型稀疏矩阵 —— 迭代法。

1.利用矩阵除法求线性方程组的特解(或一个解)

方程:AX=b 解法:X=A\\b

?5x1?6x2?x1?5x2?6x3?例1-76 求方程组?x2?5x3?6x4?1?0?0的解。 ??x3?5x4?6x5?0?x4?5x5?1解:

>>A=[5 6 0 0 0

1 5 6 0 0

0 1 5 6 0 0 0 1 5 6 0 0 0 1 5];

B=[1 0 0 0 1]';

R_A=rank(A) %求秩 X=A\\B %求解

运行后结果如下

R_A = 5 X =

2.2662 -1.7218 1.0571 -0.5940 0.3188

这就是方程组的解。 或用函数rref求解:

>> C=[A,B] %由系数矩阵和常数列构成增广矩阵C >> R=rref(C) %将C化成行最简行

R =

1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 0 0 0 0 0 1.0000 则R的最后一列元素就是所求之解。

?x1?x2?3x3?x4例1-77 求方程组??1?3x1?x2?3x3?4x4?4的一个特解。??x1?5x2?9x3?8x4?0解:

>>A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8];

>>B=[1 4 0]';

>>X=A\\B %由于系数矩阵不满秩,该解法可能存在误差。

X =[ 0 0 -0.5333 0.6000]’(一个特解近似值)。

若用rref求解,则比较精确:

36 2.2662 -1.7218 1.0571 -0.5940 0.3188

第1章 矩阵及其基本运算

>> A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8];

B=[1 4 0]';

>> C=[A,B]; %构成增广矩阵 >> R=rref(C)

R =

1.0000 0 -1.5000 0.7500 1.2500 0 1.0000 -1.5000 -1.7500 -0.2500 0 0 0 0 0

由此得解向量X=[1.2500 – 0.2500 0 0]’(一个特解)。 2.利用矩阵的LU、QR和cholesky分解求方程组的解 (1)LU分解:

LU分解又称Gauss消去分解,可把任意方阵分解为下三角矩阵的基本变换形式(行交换)和上三角矩阵的乘积。即A=LU,L为下三角阵,U为上三角阵。

则:A*X=b 变成L*U*X=b

所以X=U\\(L\\b) 这样可以大大提高运算速度。 命令 [L,U]=lu (A) 例1-78 解:

2?1??4??A??3?12?b?[2,10,8]?

?1130???>>A=[4 2 -1;3 -1 2;11 3 0]; >>B=[2 10 8]'; >>D=det(A) >>[L,U]=lu(A) >>X=U\\(L\\B)

?4x1?2x2?x3?2求方程组??3x1?x2?2x3?10?11x?3x?812?的一个特解。

显示结果如下:

D =

0 L =

0.3636 -0.5000 1.0000 0.2727 1.0000 0 1.0000 0 0 U =

11.0000 3.0000 0 0 -1.8182 2.0000 0 0 0.0000

Warning: Matrix is close to singular or badly scaled.

Results may be inaccurate. RCOND = 2.018587e-017. > In D:\\Matlab\\pujun\\lx0720.m at line 4 X =

1.0e+016 * -0.4053 1.4862 1.3511

说明 结果中的警告是由于系数行列式为零产生的。可以通过A*X验证其正确性。

37 MATLAB6.0数学手册 (2)Cholesky分解 若A为对称正定矩阵,则Cholesky分解可将矩阵A分解成上三角矩阵和其转置的乘积,即:A?R??R 其中R为上三角阵。

方程 A*X=b 变成 R??R*X?b 所以 X?R\\(R?\\b) (3)QR分解

对于任何长方矩阵A,都可以进行QR分解,其中Q为正交矩阵,R为上三角矩阵的初等变换形式,即:A=QR

方程 A*X=b 变形成 QRX=b 所以 X=R\\(Q\\b) 上例中 [Q, R]=qr(A)

X=R\\(Q\\B)

说明 这三种分解,在求解大型方程组时很有用。其优点是运算速度快、可以节省磁盘空间、节省内存。

1.4.2 求线性齐次方程组的通解

在Matlab中,函数null用来求解零空间,即满足A2X=0的解空间,实际上是求出解空间的一组基(基础解系)。

格式 z = null % z的列向量为方程组的正交规范基,满足Z??Z?I。

z?null(A,?r?) % z的列向量是方程AX=0的有理基

?x1?2x2?2x3?x4?0?例1-79 求解方程组的通解:?2x1?x2?2x3?2x4?0

??x1?x2?4x3?3x4?0解:

>>A=[1 2 2 1;2 1 -2 -2;1 -1 -4 -3];

>>format rat %指定有理式格式输出 >>B=null(A,'r') %求解空间的有理基

运行后显示结果如下:

B =

2 5/3 -2 -4/3 1 0 0 1

或通过行最简行得到基:

>> B=rref(A)

B =

1.0000 0 -2.0000 -1.6667 0 1.0000 2.0000 1.3333 0 0 0 0

即可写出其基础解系(与上面结果一致)。 写出通解:

syms k1 k2

38 第1章 矩阵及其基本运算

X=k1*B(:,1)+k2*B(:,2) %写出方程组的通解 pretty(X) %让通解表达式更加精美

运行后结果如下:

X =

[ 2*k1+5/3*k2] [ -2*k1-4/3*k2] [ k1] [ % k2]

下面是其简化形式 [2k1 + 5/3k2 ] [ ] [-2k1 - 4/3k2]

[ ] [ k1 ] [ ] [ k2 ]

1.4.3 求非齐次线性方程组的通解

非齐次线性方程组需要先判断方程组是否有解,若有解,再去求通解。因此,步骤为:

第一步:判断AX=b是否有解,若有解则进行第二步 第二步:求AX=b的一个特解 第三步:求AX=0的通解

第四步:AX=b的通解= AX=0的通解+AX=b的一个特解。

?x1?2x2?3x3?x4?1例1-80 求解方程组??3x1?x2?5x3?3x4?2

??2x1?x2?2x3?2x4?3解:在Matlab中建立M文件如下:

A=[1 -2 3 -1;3 -1 5 -3;2 1 2 -2];

b=[1 2 3]'; B=[A b]; n=4;

R_A=rank(A) R_B=rank(B) format rat

if R_A==R_B&R_A==n %判断有唯一解 X=A\\b

elseif R_A==R_B&R_A

C=null(A,'r') %求AX=0的基础解系 else X='equition no solve' %判断无解 end

运行后结果显示:

R_A =

2 R_B =

3 X =

equition no solve

39 MATLAB6.0数学手册 说明 该方程组无解

?x1?x2?3x3?x4?1?例1-81 求解方程组的通解:?3x1?x2?3x3?4x4?4

??x1?5x2?9x3?8x4?0解法一:在Matlab编辑器中建立M文件如下:

A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8];

b=[1 4 0]'; B=[A b]; n=4;

R_A=rank(A) R_B=rank(B) format rat

if R_A==R_B&R_A==n X=A\\b

elseif R_A==R_B&R_A

C=null(A,'r')

else X='Equation has no solves' end

运行后结果显示为:

R_A = 2 R_B = 2

Warning: Rank deficient, rank = 2 tol = 8.8373e-015. > In D:\\Matlab\\pujun\\lx0723.m at line 11 X =

0 0 -8/15 3/5 C =

3/2 -3/4 3/2 7/4 1 0 0 1

?3/2???3/4??0???????3/27/40?+k2??+?? 所以原方程组的通解为X=k1??1??0???8/15????????0??1??3/5?解法二:用rref求解

A=[1 1 -3 -1;3 -1 -3 4;1 5 -9 -8];

b=[1 4 0]'; B=[A b];

C=rref(B) %求增广矩阵的行最简形,可得最简同解方程组。

运行后结果显示为:

C =

1 0 -3/2 3/4 5/4 0 1 -3/2 -7/4 -1/4

0 0 0 0 0

40


矩阵及其基本运算(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:公司股权转让后原债务由原股东负责案例

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: