矩陣
- 矩陣運算
- 算術運算
- 基本算術運算
- 點運算
- 關系運算
- 邏輯運算
- 元素處理
- 取整
- 取模和取余
- 矩陣分析與處理
- 矩陣行列式、秩與跡、特征值分析
- 矩陣的逆與線性方程組求解
- 矩陣的分解與變換
矩陣運算
算術運算
基本算術運算
#檢查矩陣階數[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') #轉置(先共軛轉置,再共軛)