矩阵
- 矩阵运算
- 算术运算
- 基本算术运算
- 点运算
- 关系运算
- 逻辑运算
- 元素处理
- 取整
- 取模和取余
- 矩阵分析与处理
- 矩阵行列式、秩与迹、特征值分析
- 矩阵的逆与线性方程组求解
- 矩阵的分解与变换
矩阵运算
算术运算
基本算术运算
#检查矩阵阶数[n,m] = size(A),l = length(A)
A = [1 2;3 4]
B = [1 1;2 2]
Y1 = A + B #矩阵同阶
Y2 = A - B #矩阵同阶
Y3 = A * B #矩阵内阶数相同
Y4 = A \ B #inv(A)*B,左除,行数相同
Y5 = B / A #B*inv(A),右除,列数相同
Y6 = A^2 #A*A
点运算
矩阵中单个元素进行的运算,要求同阶
A = [1 2;3 4]
B = [1 1;2 2]
Y7 = A .* B
Y8 = A .\ B
Y9 = B ./ A
Y10 = A .^ 2
关系运算
关系运算符:< <= > >= == ~=(不等于)
结果:真1,假0
A = [1 2;3 4]
B = [1 1;2 2]
A == Bans = [1 0;0 0]
逻辑运算
逻辑运算符:与(&)、或(|)、非(~),01运算,非优先与或
A = magic(3)
B = rem(A,3) #取余数
p = (B == 0) #元素0变1
all(p) #all:按列计算,全为1,输出1。ans=[0 0 0]
any(p) #any:按列计算,有0有1,输出1。ans=[1 1 1]
p1 = ~p #取非
u = p|p1 #u变为全1矩阵
all(u) #ans=[1 1 1]
元素处理
取整
A = [2.3 2.7;-2.3 -2.7]
A_f = floor(A) #往小取整,[2 2;-3 -3]
A_c = ceil(A) #往大取整,[3 4;-2 -2]
A_r = round(A) #四舍五入,[2 3;-2 -3]
A_x = fix(A) #去掉小数,[2 2;-2 -2]
取模和取余
mod(x,y)取模,rem(x,y)取余
当xy正负相同,mod和rem结果一样
当xy正负不同,rem值正负同x,mod值正负同y,mod=rem+y
a = [-4 -1 7 9];
m = -3;
b = mod(a,m) #[-1 -1 -2 0]
c = rem(a,m) #[-1 -1 1 0]
矩阵分析与处理
矩阵行列式、秩与迹、特征值分析
A = [3,-1;-1,3]
B = det(A) #求矩阵行列式的值,A要求方阵
C = rank(A) #求矩阵的秩
D = trace(A) #求矩阵的迹,A要求方阵
E = eig(A) #求矩阵A的全部特征值,并构成向量E
[V,D] = eig(A) #求矩阵A的全部特征值,构成对角矩阵D;A的特征向量构成列向量VB = 8
C = 2
D = 6
E = 24
V =-0.7071 -0.7071-0.7071 0.7071
D = 2 00 4
矩阵的逆与线性方程组求解
求逆有inv和pinv俩个命令,inv是满秩方阵的逆矩阵,pinv是非方阵或非满秩方阵的逆
#x1 - 2x2 + 3x3 = 1
#2x1 + 3x2 + x3 = 2
#3x1 - x2 -x3 = 4 AX=B,X=A逆*B
A = [1 -2 3;2 3 1;3 -1 -1]
B = [1;2;4]
X1 = inv(A)*B
X2 = A\B #X1=X2
矩阵的分解与变换
Z1 = [1+2i,3+4i;5+6i,7+8i]
Z2 = [1,3,;5,7]+[2,4;6,8]*i
z1 = Z1' #共轭转置
z2 = conj(Z1) #共轭
z3 = conj(Z1') #转置(先共轭转置,再共轭)