China-bub.com 下载 第7章 线性方程系统 线性方程系统是最常见的计算问题,几乎在所有的应用中都把它作为子问题提出来。通常 MATLAB用运算符1从左分开来求解线性方程系统,超定系统的解决方法同样可用于欠定系统。 在线性系统理论中重要的概念是行列式、逆和矩阵的秩。首先定义这些MATLAB命令, 再在72节中开始介绍求解的方法。在范数和条件数定义之后,介绍一些因数分解。最后一节 涉及超定和欠定系统。 注意,本章中的所有命令只能用于二维矩阵。 7.1行列式、逆和秩 下列命令用来计算矩阵A的行列式、逆和矩阵的秩。 命令集67 矩阵函数 det(A) 求方阵A的行列式。 rank(A) 求A的秩,即A中线性无关的行数和列数。 inv(A) 求方阵A的逆矩阵。如果A是奇异矩阵或者近似奇异矩阵,则会给 出一个错误信息。 pinv(A) 求矩阵A的伪逆。如果A是m×n的矩阵,则伪逆的大小为n×m。对 于非奇矩阵A来说,有pinv(A)=inv(A)· trace(A) 求矩阵A的迹,也就是对角线元素之和。 ■例7.1 假设有下列矩阵: A1=(及42=((3)A3-(3;) 将命令det、inv、rank和一些其他命令对上述矩阵进行操作。 (a)det1 det(A1),det2 det(A2),det3 det(A3) give: det1 -2 det2 0 ??Error using ==det Matrix must be square
下载 第7章 线性方程系统 线性方程系统是最常见的计算问题,几乎在所有的应用中都把它作为子问题提出来。通常 M AT L A B用运算符\从左分开来求解线性方程系统,超定系统的解决方法同样可用于欠定系统。 在线性系统理论中重要的概念是行列式、逆和矩阵的秩。首先定义这些 M AT L A B命令, 再在7 . 2节中开始介绍求解的方法。在范数和条件数定义之后,介绍一些因数分解。最后一节 涉及超定和欠定系统。 注意,本章中的所有命令只能用于二维矩阵。 7.1 行列式、逆和秩 下列命令用来计算矩阵A的行列式、逆和矩阵的秩。 命令集6 7 矩阵函数 d e t ( A ) 求方阵A的行列式。 r a n k ( A ) 求A的秩,即A中线性无关的行数和列数。 i n v ( A ) 求方阵A的逆矩阵。如果 A是奇异矩阵或者近似奇异矩阵,则会给 出一个错误信息。 p i n v ( A ) 求矩阵A的伪逆。如果A是m×n的矩阵,则伪逆的大小为 n×m。对 于非奇矩阵A来说,有p i n v ( A ) = i n v ( A )。 t r a c e ( A ) 求矩阵A的迹,也就是对角线元素之和。 ■ 例7 . 1 假设有下列矩阵: 将命令d e t、i n v、r a n k和一些其他命令对上述矩阵进行操作
96 MATLAB5手册 China-pub.com 下载 仅为方阵定义行列式。 (b)仅为方阵定义逆: Inv1 inv(A1),Inv2 =inv(A2),Inv3 inv(A3) 结果为: Invi -2.0000 1.5000 1.0000 -0.5000 Warning:Matrix is singular to working precision. Inv2 Inf Inf Inf Inf ??Error using ==inv Matrix must be square. 对所有矩阵定义伪逆: Pinv1 pinv(A1),Pinv2 pinv(A2),Pinv3 pinv(A3) 结果为: Pinv1 -2.0000 1.5000 1.0000 -0.5000 Pinv2 0.0200 0.0400 0.0600 0.1200 Pinv3 0.9048 -0.3333 1.0476 -0.3333 -1.5238 0.6667 注意,A1的逆矩阵和它的伪逆是一样的。 1 (C)如果A的逆矩阵存在,那么它的行列式det(A-)就等于: det(4) detinv1 det(inv(A1)) detinv1 -0.5000 (矩阵的秩和它的转置的秩相同: ranki rank(A1),rank2 rank(A2),rank3 rank(A3) 结果为: rank1 2 rank2 1
仅为方阵定义行列式。 (b) 仅为方阵定义逆: 结果为: 对所有矩阵定义伪逆: 结果为: 注意,A 1的逆矩阵和它的伪逆是一样的。 (c) 如果A的逆矩阵存在,那么它的行列式 d e t ( A-1 )就等于: (d) 矩阵的秩和它的转置的秩相同: 结果为: 1 det(A) 9 6 M ATLAB 5 手册 下载
China-pub.Com 第7章线性方程系统 下载 rankT3 2 和 rankT1 =rank(A1'),rankT2 rank(A2'),rankT3 rank(A3') 结果为: rankT1 2 rankT2 1 rankT3= 2 (©)实数矩阵的行列式和它的转置的行列式相同: detT1 det(A1'),detT2 det(A2,),detT3 =det(A3') detT1= -2 detT2 0 ??Error using ==>det Matrix must be square. 与线性系统相联系的两个子空间是值域和零空间。如果A为m×n的矩阵,它的秩为r,那 么A的向量空间就是由A的列划分的线性空间,这个空间的维数是r,也就是A的秩。如果=, 则A的列线性无关。MATLAB命令orth用来求A的空间的正交基。 A的零空间是由满足条件Ax=0的所有向量x组成的线性子空间。在MATLAB中可以用命令 null来求得零空间的正交基。 假设有一个向量集v,V,V。,可以通过定义矩阵B=(v,V,…v)来判断它们是否线性相 关。例如,如果B的秩是n一1,那么其中的一个向量v可以用其他向量线性表示。 用命令subspace.来求得两个向量或者两个子空间的夹角。 命令集68 值域、零空间和子空间的夹角 orth(A) 求A空间的正交基,它的列数等于A的秩。 null(A) 求A的零空间的正交基,它的列数等于零空间的维数。 subspace(x,y) 求列向量x和y的夹角,向量的长度必须一样。 subspace(A,B)求由矩阵A和B的列划分的子空间的夹角,列的长度必须一样。 ■例7.2 用命令orth、nulI和subspace求解例7.1中的矩阵的正交基、零空间和夹角。 (a)先求正交基: Range1 orth(A1),Range2 =orth(A2),Range3 orth(A3)
和 结果为: (e) 实数矩阵的行列式和它的转置的行列式相同: 与线性系统相联系的两个子空间是值域和零空间。如果 A为m×n的矩阵,它的秩为 r,那 么A的向量空间就是由A的列划分的线性空间,这个空间的维数是 r,也就是A的秩。如果r=n, 则A的列线性无关。M AT L A B命令o r t h用来求A的空间的正交基。 A的零空间是由满足条件 A x = 0的所有向量x组成的线性子空间。在M AT L A B中可以用命令 n u l l来求得零空间的正交基。 假设有一个向量集v1,v2,. . .vn,可以通过定义矩阵B= (v1 v2 . . . vn )来判断它们是否线性相 关。例如,如果B的秩是n-1,那么其中的一个向量vi可以用其他向量线性表示。 用命令s u b s p a c e来求得两个向量或者两个子空间的夹角。 命令集6 8 值域、零空间和子空间的夹角 o r t h ( A ) 求A空间的正交基,它的列数等于 A的秩。 n u l l ( A ) 求A的零空间的正交基,它的列数等于零空间的维数。 s u b s p a c e ( x , y ) 求列向量x和y的夹角,向量的长度必须一样。 s u b s p a c e ( A , B ) 求由矩阵A和B的列划分的子空间的夹角,列的长度必须一样。 ■ 例7 . 2 用命令o r t h、n u l l和s u b s p a c e求解例7 . 1中的矩阵的正交基、零空间和夹角。 (a) 先求正交基: 第7章 线性方程系统 9 7 下载 ■
98 China-pub.com MATLAB5手册 下载 结果为: Range1 0.5760 0.8174 0.8174 -0.5760 Range2 0.4472 0.8944 Range3 0.3667 -0.9303 0.9303 0.3667 (b)再求它们的秩: ranki rank(orth(A1)),... rank2 rank(orth(A2)),rank3 rank(orth(A3)) 结果为: rank1 2 rank2 1 rank3 2 当然,矩阵的向量空间的秩就等于矩阵本身的秩。 (c)然后求它们的零空间: nullSpace1 null(A1),... nullSpace2 null(A2),nullSpace3 null(A3) 结果为: nullSpace1 Empty matrix:2-by-0 nullSpace2 -0.9487 0.3162 nullSpace3 -0.8729 0.4364 -0.2182 这里的Empty Matrix表示零空间是空的。对AI求它的零空间时结果就得到零向量。 (d)求它们转置矩阵的零空间: nullSpaceT1 null(A1'),... nullSpaceT2 null(A2'),nullSpaceT3 null(A3') 结果为:
结果为: (b) 再求它们的秩: 结果为: 当然,矩阵的向量空间的秩就等于矩阵本身的秩。 (c) 然后求它们的零空间: 结果为: 这里的Empty Matrix表示零空间是空的。对A 1求它的零空间时结果就得到零向量。 (d) 求它们转置矩阵的零空间: 结果为: 9 8 M ATLAB 5 手册 下载
China-pub.com 第7章线性方程系统 下载 nullSpaceT1 Empty matrix:2-by-0 nullSpaceT2 -0.8944 0.4472 nullSpaceT3 Empty matrix:2-by-0 (e)用orth求正交基: RangeT1 orth(A1'),... RangeT2 orth(A2'),RangeT3 orth(A3') 结果为: RangeT1 0.4046 0.9145 0.9145 -0.4046 RangeT2 0.3162 0.9487 RangeT3= 0.2197 -0.4357 0.7508 -0.4958 0.6229 0.7513 (①最后求矩阵的夹角: angle subspace(null(A2),orth(A2')) 结果为: angle 1.5708 ■ 角度为π/2,说明这两个空间是正交的。命令subspace要求列的长度相同。 7.2线性系统的求解和LU因式分解 MATLAB中用运算符1求解线性系统,这个运算符的功能很强大,而且具有智能性。通常, 仔细研究计算过程是有价值的,在MATLAB中有几个专门这样的命令。 令A是nXm的矩阵,b和x是有n个元素的列向量,B和X是n行p列的矩阵。MATLAB用如 下命令求解系统Ax=b: x=A\b 求解更一般的系统AX=B,也用同样的方法,其中B=(b,b,…b): X=A\B 如果A是一个奇异矩阵,或者是近似奇异矩阵,则会给出一个错误信息。 ■例7.3 在MATLAB中求解下列方程组:
(e) 用o r t h求正交基: 结果为: (f) 最后求矩阵的夹角: 结果为: 角度为 / 2,说明这两个空间是正交的。命令 s u b s p a c e要求列的长度相同。 7.2 线性系统的求解和L U因式分解 M AT L A B中用运算符\求解线性系统,这个运算符的功能很强大,而且具有智能性。通常, 仔细研究计算过程是有价值的,在 M AT L A B中有几个专门这样的命令。 令A是n×m的矩阵,b和x是有n个元素的列向量, B和X是n行p列的矩阵。M AT L A B用如 下命令求解系统A x = b: x = A \ b 求解更一般的系统A X = B,也用同样的方法,其中B= (b1 b2 ... bp ): X = A \ B 如果A是一个奇异矩阵,或者是近似奇异矩阵,则会给出一个错误信息。 ■ 例7 . 3 在M AT L A B中求解下列方程组: 第7章 线性方程系统 9 9 下载 ■