目录
矩阵
1.冒号表达式
2.矩阵元素的引用
3.矩阵的运算
3.1算术运算
3.2逻辑运算
4.特殊矩阵
5.矩阵变换
5.1对角阵
5.2三角阵
5.3矩阵旋转
5.4稀疏矩阵
6.矩阵求值
e1:e2:e3 省略步长e2,则步长为1
linspace(a,b,n) 当n省略时,自动产生100个元素
a:第一个元素
b:最后元素
n:元素总数
在MATLAB中,矩阵元素按列存储,即首先储存矩阵的第一列元素,然后存储第二列……一直到矩阵的最后一列元素。矩阵元素的序号就是矩阵元素在内存中的排列顺序。
例:
子矩阵:
A(i,:) 第i行的全部元素
A(;,j) 第j列的全部元素
A(i:i+m,k:k+m) 第i~i+m行内且在第k~k+m列中的所有元素
A(i:i+m,:) 第i~i+m行的全部元素
空矩阵是指没有任何元素的矩阵:x=[]
改变矩阵的形状:
reshape(A,m,n):在矩阵总元素保持不变的前提下,将矩阵A重新排成m X n的二维矩阵。
A(:) 将矩阵A的每一列堆叠起来,成为一个列向量。
转置 |
加 |
减 |
乘 |
右除 |
左除 |
幂 |
|
矩阵运算符 |
A’ |
+ |
- |
* |
/ |
^ |
|
标量运算符 |
A.’ |
+ |
- |
.* |
./ |
. |
.^ |
矩阵除法运算有两种,右除/和左除
如果A矩阵是非奇异方阵,则B/A等效于B*in(A),AB等效于inv(A)*B
乘方运算:A^x,要求A为方针,x为标量
关系运算符 |
< |
<= |
> |
>= |
== |
~= |
字母算符 |
lt |
le |
gt |
ge |
eq |
ne |
逻辑运算符 |
& |
| |
~ |
xor |
字母算符 |
and |
or |
not |
xor |
zeros(m):产生m*m零矩阵
zeros(m,n):产生m*n零矩阵
zeros(size(A)):产生于矩阵A同样大小的零矩阵
magic(n):产生n阶魔方阵,其每行每列以及主副对角线上各n个元素之和都相等
vander(v):生成以向量v为基础的范德蒙矩阵
hilb(n):生成n阶希尔伯特矩阵
compan(p):生成伴随矩阵,其中p是一个多项式的系数向量,高次幂系数排在前,低次幂系数排在后
pascal(n):生成一个n阶帕斯卡矩阵
对角阵:只有对角线上有非零元素的矩阵
数量矩阵:对角线上的元素相等的对角矩阵
单位矩阵:对角线上的元素都为1的对角矩阵
diag(v):以向量v为主对角线元素,产生对角矩阵
diag(v,k)以向量v为第k条对角线元素,产生对角矩阵
上三角矩阵
triu(A):提取矩阵A的主对角线及以上的元素。
triu(A,k):提取矩阵A的第k条主对角线及以上的元素。
下三角矩阵
tril(A):提取矩阵A的主对角线及以下的元素。
tril(A,k):提取矩阵A的第k条主对角线及以下的元素。
rot90(A,k):将矩阵A逆时针方向旋转的k倍,当k为1时可省略。
完全存储方式:将矩阵的全部元素按列存储
稀疏存储方式:只存储矩阵的非零元素的值及其位置,即行号和列号
A=sparse(S):将矩阵S转化为稀疏存储方式的矩阵A
S=full(A):将矩阵A转化为完全存储方式的矩阵S
sparse(m,n):生成一个mxn的所有元素都是0的稀疏矩阵。
sparse(u,v,s):其中u,v,S是3个等长的向量,S是要建立的稀疏存储矩阵的非零元素,u(i),v(i)分别是S(i)的行和列下标
[B,d]=spdiags(A):从带状稀疏矩阵A中提取全部非零对角线元素赋给矩阵B及其这些非零对角线的位置向量d.
speye(m,n);返回一个m*n的稀疏存储单位矩阵。
det(A):方阵A所对应的行列式的值
inv(A):求矩阵的逆
rank(A):求矩阵的秩
trace(A):求矩阵的迹
矩阵的迹等于矩阵的对角线元素之和,也等于矩阵的特征值之和
矩阵或向量的范数用来度量矩阵或向量在某种意义下的长度
norm(v)或norm(v,2):计算向量v的2—范数
norm(v,1):计算向量v的1—范数
norm(v,inf):计算向量v的—范数
矩阵的条件数等于A的范数于A的逆矩阵的范数的乘积。
cond(A,1):计算A的1——范数下的条件数。
cond(A)或cond(A,2):计算A的2——范数下的条件数。
cond(A,1):计算A的——范数下的条件数。
求矩阵的特征值和特征向量
E=eig(A):求矩阵A的全部特征值,构成向量E。
[X,D]=eig(A):求矩阵A的全部特征值,构成对角阵D,并产生矩阵X,X各列是相应的特征向量。