2.3 matlab矩阵求值(矩阵的行列式值、矩阵的秩、矩阵的积、矩阵的范数和矩阵的条件数)

2.3 matlab矩阵求值(矩阵的行列式值、矩阵的秩、矩阵的积、矩阵的范数和矩阵的条件数)_第1张图片

1、方阵的行列式
把一个方阵看作一个行列式,并对其按行列式的规则求值,这个值就称为方阵所对应的行列式的值。det(A):求方阵A所对应的行列式的值。
2.3 matlab矩阵求值(矩阵的行列式值、矩阵的秩、矩阵的积、矩阵的范数和矩阵的条件数)_第2张图片

>> format rat;
>> a = [1 2 3;-3 -5 4;-5 9 1]

a =

       1              2              3       
      -3             -5              4       
      -5              9              1       

>> det(inv(a))

ans =

      -1/231   

>> 1/det(a)

ans =

      -1/231   

2、矩阵的秩
在这里插入图片描述

for n = 3:20
    r(n) = rank(magic(n));
end
bar(r)
grid on
axis([2,21,0,20])

2.3 matlab矩阵求值(矩阵的行列式值、矩阵的秩、矩阵的积、矩阵的范数和矩阵的条件数)_第3张图片
n=3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
r =3 3 5 5 7 3 9 7 11 3 13 9 15 3 17 11 19 3
①奇数阶魔方阵秩为η,即奇数阶魔方阵是满秩矩阵;②重偶数阶魔方阵秩为n2+2(n是2的倍数,但非4的倍数);③双重偶数阶魔方阵秩均为3(阶数是4的倍数)。

3、矩阵的迹
矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和。trace(A):求矩阵A的迹。

>> a = [1 2 3;-3 -5 4;-5 9 1]

a =

     1     2     3
    -3    -5     4
    -5     9     1

>> b = trace(a)

b =

    -3

>> b = sum(diag(a))    *可先提取矩阵的对角线元素,再进行求和

b =

    -3

4、矩阵和向量的范数
(1)向量的3种范数
①向量1—范数:向量元素的绝对值之和。
②向量2—范数:向量元素绝对值的平方和的平方根。
③向量∞—范数:所有向量元素绝对值中的最大值。

(2)矩阵的3种范数
①矩阵A的1—范数:矩阵列元素绝对值之和的最大值。
②矩阵A的2—范数:A’A矩阵的最大特征值的平方根。
③矩阵A的oo—范数:所有矩阵行元素绝对值之和的最大值。

矩阵和向量的范数求法一致:
①norm(V)或norm(V,2):计算2—范数。
②norm(V,1): 计算1—范数。
③norm(V,inf):计算∞—范数。

>> a = [1 2 3;-3 -5 4;-5 9 1]

a =

     1     2     3
    -3    -5     4
    -5     9     1

>> b = norm(a,1)   *矩阵1范数

b =

    16

>> b = norm(a)  *矩阵2范数

b =

   10.9225

>> b = norm(a,inf)   *矩阵∞范数

b =

    15

5、矩阵的条件数
矩阵A的条件数等于A的范数与A的逆矩阵的范数的乘积。
条件数越接近于1,矩阵的性能越好,反之,矩阵的性能越差。

在MATLAB中,计算矩阵A的3种条件数的函数是:
①cond(A,1):计算A的1—范数下的条件数。
②cond(A)或cond(A,2):计算A的2—范数下的条件数。
③cond(A,inf):计算A的○o—范数下的条件数。

在这里插入图片描述

for n = 2:10
    r(n) = cond(hilb(n));
end
format long
r'
ans =

   1.0e+13 *

                   0
   0.000000000001928
   0.000000000052406
   0.000000001551374
   0.000000047660725
   0.000001495105864
   0.000047536735691
   0.001525757556663
   0.049315340455101
   1.602502816811318
   0.000000000001100
   0.000000000000300
   0.000000000001300
   0.000000000000900
   0.000000000001500
   0.000000000000300
   0.000000000001700
   0.000000000001100
   0.000000000001900
   0.000000000000300

希尔伯特矩阵的条件数不断增大,矩阵性能变差

你可能感兴趣的:(matlab基础知识,矩阵,matlab,线性代数)