matlab學習筆記10 通常運算符

一塊兒來學matlab-matlab學習筆記10

10_1通常運算符

以爲有用的話,歡迎一塊兒討論相互學習~Follow Me

參考書籍
《matlab 程序設計與綜合應用》張德豐等著 感謝張老師的書籍,讓我領略到matlab的便捷
《MATLAB技術大全》葛超等編著 感謝葛老師的書籍,讓我領略到matlab的高效git

MATLAB語言之前是一種專門爲進行矩陣計算所設計的語言,在之後的各個版本中逐步擴充其各類功能。如今MATLAB不單單侷限於矩陣計算領域,但其最基本、最重要的功能仍是進行實數矩陣和複數矩陣的運算。 在MATLAB中幾乎全部的運算符和操做符都是以矩陣爲基本運算單元的,這和其餘計算機語言有很大不一樣,這也是MATLAB的重要特色github

運算符

矩陣的逆

INV(X)算法

矩陣的轉置

X'數組

矩陣的加減法

  • 其基本形式爲X+-Y,X和Y必須是同維度的矩陣,此時各對應元素相加減。若是X與Y的維數不一樣,則MATLAB將給出錯誤信息,提高用戶兩個矩陣的維數不匹配
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*Y是兩個矩陣X和Y的乘積,其中X和Y必須知足矩陣相乘的條件,即矩陣X的列數必須等於矩陣Y的行數。若是其中一個爲1x1矩陣也合法,此時即是將每個矩陣的元素都分別與這個數值相乘。
X=[2     3;
   4     5];
Y=[3     4;
   4     3];

ans =

    18    17
    32    31


ans =

     4     6
     8    10

矩陣的點乘

  • X.* Y運算結果爲兩個矩陣的相應元素相乘,獲得的結果與X和Y同維,此時X和Y也必須具備相同的維數,除非其中一個爲1X1矩陣此時運算則與X*Y相同
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.^Y的計算結果爲X中元素對Y中對應元素求冪,造成的矩陣與原矩陣維數相等,這裏X和Y必須維數相等,或其中一個爲數,此時運算法則等同於X^Y
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

矩陣的點除

  • 若是B和都是矩陣,且維數相同,則B./A就是B中的元素除以A中的對應元素,所得結果矩陣大小與B和A都相同;若是B和A中有一個爲數,在結果爲此數與相應的矩陣中的每一個元素作運算,結果矩陣與參加運算的矩陣大小相同。
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

矩陣的kronecker張量積

  • K=KRON(A,B)返回A和B的張量積,它是一個大矩陣,取值爲矩陣A和B的元素間全部的可能積。若是A是mxn矩陣,而B是p×q矩陣,則KRON(A,B)是mp×nq的矩陣。例如,A是2×2的矩陣,則有下式成立:
    KRON(A,B)=[A(1,1)* B A(1,2)* B
    A(2,1)* B A(2,2)* B]
    若是A和B中有一個爲稀疏矩陣,則只有非零元素會參與計算,所得的結果也是稀疏矩陣
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
相關文章
相關標籤/搜索