跳到內容

MATLAB 程式設計/向量和矩陣/特殊矩陣

來自華夏公益教科書,開放書籍,為開放世界而生

特殊矩陣

[編輯 | 編輯原始碼]

全1矩陣

[編輯 | 編輯原始碼]

我們可以使用函式ones建立矩陣,其中m表示行數,n表示列數。

>> ones(3,3)

ans =
     1     1     1
     1     1     1
     1     1     1

全0矩陣

[編輯 | 編輯原始碼]

我們可以使用函式zeros建立矩陣,其中m表示行數,n表示列數。

>> zeros(3,3)

ans =
     0     0     0
     0     0     0
     0     0     0

單位矩陣

[編輯 | 編輯原始碼]

一個單位矩陣是一個方陣,其對角線上的元素為1,其他元素為0。單位矩陣用於以下目的
(a) 驗證兩個給定矩陣是否互為逆矩陣。
以下示例中的A和B互為逆矩陣。

  >> A=[3,-2;-1,1]
  A =
     3    -2
    -1     1

  >> B=[1,2;1,3]
  B =
     1     2
     1     3

  >> A*B
  ans =
     1     0
     0     1

(b) 查詢矩陣的逆矩陣
注意1:並非所有逆矩陣都可以使用單位矩陣。
注意2:命令"eye(n)"可用於快速建立單位矩陣,n是矩陣的大小。

>> A=[3,2;4,3]
A =
     3     2
     4     3

>> eye(2)
ans =
     1     0
     0     1

>> eye(2)/A
ans =
     3    -2
    -4     3


(c) 查詢特徵值和特徵向量。
特徵值定義為與向量空間的給定線性變換相關的標量,具有以下性質:存在一些非零向量,當乘以該標量時等於讓變換作用於該向量時得到的向量。

假設我們有一個矩陣A如下


要查詢lambda,我們需要知道使用以下公式查詢特徵值的方程式

但MATLAB提供了一種簡單的方法,可以使用命令"eig"查詢特徵值。

>> A=[1,4;3,2]
A =
     1     4
     3     2

>> lambda = eig(A)
lambda =
    -2
     5

幻方矩陣

[編輯 | 編輯原始碼]

幻方是指每列元素的總和以及每行元素的總和都相同,並且沒有重複數字的方陣。我們可以使用命令M=magic(n)建立幻方。為了建立有效的幻方,階數n必須是一個大於或等於3的標量。

有關更多資訊,請參閱有關此主題的華夏公益教科書:謎題/洛書方陣

例如,我們可以建立一個5×5的幻方矩陣。

  >> % creating 5X5 matrix magic square
  >> c = magic(5)
  c =
    17    24     1     8    15
    23     5     7    14    16
     4     6    13    20    22
    10    12    19    21     3
    11    18    25     2     9
華夏公益教科書