0x00 前言
文章中的文字可能存在语法错误以及标点错误,请谅解;
如果在文章中发现代码错误或其它问题请告知,感谢!
MATLAB版本:MATLAB R2018b。
0x01 矩阵运算
1.幂函数
A是一个n阶矩阵,k是一个正整数,规定
A
A
⋯
A
⏟
k
个
\underbrace{A\ A\cdots A}_{k\text{ 个}}
k 个
A A⋯A称为矩阵的幂,其中k为正整数。
矩阵的幂运算是将矩阵中的每隔元素进行乘方运算,即
(
λ
1
0
⋯
0
0
λ
2
⋯
0
⋮
⋮
⋱
⋮
0
0
⋯
λ
n
)
k
=
(
λ
1
k
0
⋯
0
0
λ
2
k
⋯
0
⋮
⋮
⋱
⋮
0
0
⋯
λ
n
k
)
\begin{pmatrix} \lambda_{1} &0 & \cdots &0 \\ 0 & \lambda_{2} & \cdots &0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0& \cdots &\lambda_{n} \\ \end{pmatrix}^{k} = \begin{pmatrix} \lambda_1^k &0 & \cdots &0 \\ 0 & \lambda_2^k & \cdots &0 \\ \vdots & \vdots & \ddots & \vdots \\ 0 & 0& \cdots &\lambda_n^k \\ \end{pmatrix}
⎝⎜⎜⎜⎛λ10⋮00λ2⋮0⋯⋯⋱⋯00⋮λn⎠⎟⎟⎟⎞k=⎝⎜⎜⎜⎛λ1k0⋮00λ2k⋮0⋯⋯⋱⋯00⋮λnk⎠⎟⎟⎟⎞
对于单位n阶矩阵A有 A k A l A^{k} A^{l} AkAl = A k + l A^{k+l} Ak+l,( A k ) l A^{k} )^{l} Ak)l = A k + l A^{k+l} Ak+l。
例1:
矩阵幂运算1。
>> A = [1 2 3; 4 5 6;3 2 1];
>> A.^2
例2:
矩阵幂运算2。
>> A = [1 2 3; 4 5 6;3 2 1];
>> B = [2 3 4; 4 5 4;1 3 4];
>> (A*B)^3
>> A^3*B^3
2.矩阵的逆
对于n阶方阵A,如果有n阶方阵B满足AB=BA=I,则称矩阵A为可逆,称方阵B为A的逆矩阵,记位A-1。
性质:
·若A可逆,则A-1是唯一的。
·若A可逆,则A-1 也可逆,并且(A-1)-1=A。
·若n阶方阵A与B都可逆,则AB也可逆,且(AB)-1=B-1A-1。
·若A可逆,则|A-1|=|A|-1。
求解矩阵的逆使用inv()函数:B=inv(A)
。
例3:
求解矩阵的逆1。
>>A = rand(3)
>>inv(A)
例4:
求解矩阵的逆2。
已知矩阵A=
[
1
2
3
4
5
6
1
0
0
1
1
0
1
1
2
3
]
\begin{bmatrix}1&2&3&4\\5&6&1&0\\0&1&1&0\\1&1&2&3\end{bmatrix}
⎣⎢⎢⎡1501261131124003⎦⎥⎥⎤,b=
[
1
0
1
0
]
\begin{bmatrix}1\\0\\1\\0\end{bmatrix}
⎣⎢⎢⎡1010⎦⎥⎥⎤,求A-1,并在A-1基础上求矩阵A的第2列被b替换后的逆矩阵。
>> A=[1 2 3 4;5 6 1 0;0 1 1 0;1 1 2 3];
>> b=[1 0 1 0]';
>> A(:,2)=b
>> inv(A)
3.矩阵的条件数
矩阵的条件数在数值分析中是一个重要概念,在工程计算中十分必要,用于刻画一个矩阵的“病态”程度。
对于非奇异矩阵A,其定义的条件数为:cond(A)
v
_{v}
v=||A-1||
v
_{v}
v||A||
v
_{v}
v
,其中v=1,2,……F。
它是大于等于1的实数,当A的条件数相对较大,即cond(A)
v
_{v}
v>>1时,矩阵A是“病态”的,反之是“良态”的。
4.矩阵的条件数
范数是数值分析中的一个概念,它是向量或矩阵大小的一个量度,在工程计算中有重要的作用。
对于向量x
∈
\in
∈Rn,常用的向量范数有以下几种:
·x的
∞
\infty
∞-范数:||x||
∞
_{\infty}
∞=
m
a
x
1
≤
i
≤
n
max_{1\leq i\leq n}
max1≤i≤n |x
i
_{i}
i|
·x的1-范数:||x||
1
_{1}
1 =
∑
i
=
1
n
\sum_{i=1}^n
∑i=1n |x
i
_{i}
i|
·x的2-范数(欧式范数):||x||
2
_{2}
2 = (xTx)1/2=(
∑
i
=
1
n
\sum_{i=1}^n
∑i=1n x2
i
_{i}
i)1/2
·x的p-范数:||x||
p
_{p}
p= (
∑
i
=
1
n
\sum_{i=1}^n
∑i=1n |x
i
_{i}
i|p)1/p
对于矩阵A
∈
\in
∈Rm*n,常用的矩阵范数有以下几种:
·A的行发生范数(
∞
\infty
∞-范数):||A||
∞
_{\infty}
∞ =
m
a
x
1
≤
i
≤
m
max_{1\ \leq i\leq m}
max1 ≤i≤m
∑
j
=
1
n
\sum_{j=1}^n
∑j=1n |a
i
j
_{ij}
ij|
·A的列范数(1-范数):||A||
1
_{1}
1=
m
a
x
1
≤
j
≤
n
max_{1\ \leq j\leq n}
max1 ≤j≤n
∑
i
=
1
m
\sum_{i=1}^m
∑i=1m |a
i
j
_{ij}
ij|
·A的欧式范数(2-范数):||A||
∞
_{\infty}
∞=
λ
m
a
x
(
A
T
A
)
\sqrt { \lambda max(A^{T}A)}
λmax(ATA) ||A||
∞
_{\infty}
∞=
λ
m
a
x
(
A
T
A
)
\sqrt { \lambda max(A^{T}A)}
λmax(ATA),其中
λ
m
a
x
(
A
T
A
)
\lambda max(A^{T}A)
λmax(ATA)表示ATA的最大特征值。
·A的Forbenius范数(F-范数):||A||
F
_{F}
F = (
∑
i
=
1
m
\sum_{i=1}^m
∑i=1m
∑
j
=
1
n
\sum_{j=1}^n
∑j=1na
i
j
_{ij}
ij2)1/2 = trace(
A
T
A
A^{T}A
ATA)1/2
例5:
矩阵的范数和条件数。
>> A=[3 8 9;0 3 3;7 9 5];
>> B=[8 3 9;2 8 1;3 9 1];
>> norm(A)
>> normest(A)
>> det(A)
以上。
参考文档:
1.https://www.zybuluo.com/codeep/note/163962(Markdown 公式指导手册)
2.https://blog.csdn.net/katherine_hsr/article/details/79179622(数学符号和公式)
3.天工在线.中文版MATLAB2018从入门到精通(实战案例版)[M].北京:中国水利水电出版社,2018.