參考書籍
《matlab 程序設計與綜合應用》張德豐等著 感謝張老師的書籍,讓我領略到matlab的便捷
《MATLAB技術大全》葛超等編著 感謝葛老師的書籍,讓我領略到matlab的高效git
MATLAB語言之前是一種專門爲進行矩陣計算所設計的語言,在之後的各個版本中逐步擴充其各類功能。如今MATLAB不單單侷限於矩陣計算領域,但其最基本、最重要的功能仍是進行實數矩陣和複數矩陣的運算。 在MATLAB中幾乎全部的運算符和操做符都是以矩陣爲基本運算單元的,這和其餘計算機語言有很大不一樣,這也是MATLAB的重要特色github
INV(X)算法
X'數組
X=[2 3; 4 5]; Y=[3 4; 4 3]; X+Y X-Y ans = 5 7 8 8 ans = -1 -1 0 2
X=[2 3; 4 5]; Y=[3 4; 4 3]; ans = 18 17 32 31 ans = 4 6 8 10
X=[2 3; 4 5]; Y=[3 4; 4 3]; X.*Y 2.*X ans = 6 12 16 15 ans = 4 6 8 10
(1)x^Y表示,若是x爲數,而Y爲方陣,結果由各特徵值和特徵向量計算獲得
(2)X^y表示,若是X是方陣、y是一個大於1的整數,所得結果由X重複相乘y次獲得;若是y不是整數,則將計算各特徵值和特徵向量的乘方。
(3)若是X和Y都是矩陣,或X或Y不是 方陣 ,則會顯示錯誤信息。學習
X=[2 3; 4 5]; Y=[3 4; 4 3]; X^2 X^1.5 2^Y >> test_power ans = 16 21 28 37 ans = 5.9125 - 0.1007i 7.7970 + 0.0573i 10.3960 + 0.0764i 13.7095 - 0.0434i ans = 64.2500 63.7500 63.7500 64.2500
X=[2 3; 4 5] Y=[3 4; 4 3] X.^Y X = 2 3 4 5 Y = 3 4 4 3 ans = 8 81 256 125
A B稱做矩陣A左除矩陣B,其計算結果大體與INV(A)B相同,但其算法倒是不相同的。若是A是N×N的方陣,而B是N維列向量,或是由若干N維列向量組成的矩陣,則X=A B是方程AX=B的解,X與B的大小相同,對於X和B的每一個列向量,都有AX(n)=B(n),此解是由高斯消元法獲得的很顯然,A EYE(SIZE(A))=INV(A)EYE(SIZE(A))=INV(A)。若是A是M×N的矩陣(M不等於N),B是M維列向量或由若干M維列向量組成的矩陣,則X=A B是欠定或超定方程AX=B的最小二乘解。A的有效秩L由旋轉的QR分解獲得,並至多在每列L個零元素上求解。設計
A =[1 2; 3 4] B =[2 3; 3 2] A\B A = 1 2 3 4 B = 2 3 3 2 ans = -1.0000 -4.0000 1.5000 3.5000
B/A稱爲矩陣A右除矩陣B,其計算結果基本與B * INV(A)相同,但其算法是不一樣的,能夠由左除獲得,即:B/A=(A'\B')' 其實是方程XA=B的解 表示A的A的轉置左除B的轉置的結果的轉置code
A =[1 2; 3 4] B =[2 3; 3 2] B/A (A'\B')' A = 1 2 3 4 B = 2 3 3 2 ans = 0.5000 0.5000 -3.0000 2.0000 ans = 0.5000 0.5000 -3.0000 2.0000
A =[1 2; 3 4] B =[2 3; 3 2] B./A B./2 A = 1 2 3 4 B = 2 3 3 2 ans = 2.0000 1.5000 1.0000 0.5000 ans = 1.0000 1.5000 1.5000 1.0000
A =[1 2; 3 4] B =[2 3; 3 2] kron(A,B) A = 1 2 3 4 B = 2 3 3 2 ans = 2 3 4 6 3 2 6 4 6 9 8 12 9 6 12 8