矩阵运算
矩阵运算
矩阵基础操作
特殊矩阵
- 零矩阵
zeros
与一矩阵ones
- 单位矩阵
eye
- 对角矩阵
diag
特殊矩阵表:
函数名 | 矩阵名 |
---|---|
compan |
伴随矩阵 |
gallery |
测试矩阵 |
hadamard |
哈达玛矩阵 |
hankel |
汉克尔矩阵 |
hilb |
希尔伯特矩阵 |
invhilb |
希尔伯特矩阵的逆矩阵 |
magic |
幻方矩阵 |
pascal |
帕斯卡矩阵 |
rosser |
典型对称特征值测试问题 |
toeplitz |
托普利茨矩阵 |
vander |
范德蒙德矩阵 |
wilkinson |
威尔金森的特征值测试矩阵 |
创建、串联和扩展
- 创建
- 串联
- 扩展
删除行列
A(:,3)=[]
重构
reshape
多维数组
- 行,列,页
索引
% (1)取指定行和列的一个元素(输出的是一个值) |
矩阵基础运算
加减法
- 矩阵加法
矩阵乘积与转置
- 点乘,点除(形状相同)
- 转置
A'
% MATLAB在矩阵的运算中,“*”号和“/”号代表矩阵之间的乘法与除法(A/B = A*inv(B)) |
矩阵乘法
矩阵乘法
矩阵除法(等于乘矩阵的逆)
- 右除
- 左除
尽管这不是标准的数学表示法,但MATLAB使用标准示例中常见的除法术语来描述常规联立方程组的解。斜杠
\
和反斜杠\
这两个除号分别对应MATLAB函数mrdivide
和mldivide
。两种运算符分别用于未知矩阵出现在系数矩阵左侧或右侧的情况:x=b/A
表示使用mrdivide
获得的矩阵方程的解。 x=A\b
表示使用mldivide
获得的矩阵方程的解。 考虑将方程
或 的两端“除以” 。系数矩阵 始终位于“分母”中。 x=A\b
的维度兼容性条件要求两个矩阵和 的行数相同。这样,解 的列数便与 的列数相同,并且其行维度等于 的列维度。对于 x=b/A
,行和列的角色将会互换。实际上,
形式的线性方程组比 形式的线性方程组更常见。因此,反斜杠的使用频率要远高于斜杠的使用频率。本节其余部分将重点介绍反斜杠运算符;斜杠运算符的对应属性可以从以下恒等式推知:
进行科学计算时,最重要的一个问题是对联立方程组求解。
在矩阵表示法中,常见问题采用以下形式:给定两个矩阵和 ,是否存在一个唯一矩阵 使 或 ? 考虑
示例具有指导意义。例如,方程
是否具有唯一解?
答案当然是肯定的。方程有唯一解
。通过除法很容易求得该解:
该解通常不是通过计算
的倒数求得的,即先计算 ,然后将 乘以 。这将需要更多的工作,而且如果 以有限位数表示时,准确性会较低。类似注意事项也适用于多个未知数的线性方程组;MATLAB在解此类方程时不会计算矩阵的逆。
矩阵求逆
A^-1
矩阵分解
乔列斯基分解(平方根法)
chol(A)
LU分解(高斯消元)
[L,U] = lu(B)
QR分解
[Q,R] = qr(C)
特征值分解
方阵
对于对角矩阵的对角线上特征值
如果
% 求矩阵A的全部特征值,返回一个由特征值构成的向量 |