今天我们学习矩阵在MATLAB中的运算。
运算符
与数组运算相同:
A. ’转罝
A’(共轭)转罝
共轭转置(A’或A†):
- 对于一个复数矩阵A,其共轭转置记作A’或A†。
- 共轭转置不仅将矩阵A的行和列互换(即进行转置),而且还将矩阵中每个元素的复共轭取出来。
- 如果矩阵A中的元素是实数,那么共轭转置就等同于普通的转置,因为实数的共轭就是其本身。
A+B 与 A-B 加与减
k+A与k-A 数与矩阵加减
K*A或A*K数乘矩阵
与数组运算不同:
A*B 矩阵乘法
A^k 矩阵乘方
左除A\B 为AX=B的解
右除B/A 为XA=B的解
矩阵运算与数组运算的区别
- 数组运算按元素定义,矩阵运算按线性代数定义
- 矩阵的加、减、数乘等运算与数组运算是一致的
- 数与矩阵加减、矩阵除法在数学上是没有意义的,但在MATLAB中有定义。
注意:矩阵的乘法、乘方、除法与数组乘法、乘方、除法不同!
A*B 矩阵乘法 A.*B 数组乘法
A^k 矩阵乘方 A.^k 数组乘方
A\B 矩阵左除 A.\B 数组左除
B/A 矩阵右除 B./A 数组右除
特殊矩阵生成
- zeros:零矩阵
-
Z = zeros(2, 3);
- ones:所有元素都是1的矩阵
-
oneMatrix = ones(2, 3);
- eye:创建单位矩阵(对角线元素为1,其余为0)
-
I = eye(2, 3);
- rand:创建一个元素在[0,1]区间内均匀分布的随机矩阵
-
R = rand(2, 3);
- randn:创建一个元素为标准正态分布(均值为0,方差为1)的随机矩阵
-
RN = randn(2, 3);
- diag:创建对角矩阵或提取矩阵的对角线元素
-
D = diag([1 2 3]); % 创建对角矩阵
- magic:创建一个魔方矩阵(每行、每列和对角线上的元素和相等)
-
M = magic(3); % 注意:这里需要方阵的尺寸
特征值、特征向量
定义: 设 AA 是一个 n×nn×n 的方阵,如果存在一个非零向量 xx 和一个标量 λλ,使得以下等式成立:
那么,标量 λ 被称为矩阵 A 的一个特征值,非零向量 x 被称为对应于特征值 λ 的一个特征向量。
寻找矩阵的特征值与特征向量用eig函数:
V=eig(A)
返回方阵A的特征值
[V,D]=eig(A)
返回方阵A的特征值和特征向量。其中D为的特征值构成的对角阵,每个特征值对应的V的列为属于该特征值的一个特征向量。
矩阵分析
rank(A): 秩
det(A): 行列式
inv(A): 逆矩阵
null(A): Ax=0的基础解系
orth(A): A列向量正交规范化
norm(x): 向量x的范数(长度,模)
norm(A): 矩阵A的范数
今天就到这里,我们明天继续学习。