首頁 > 軟體

matlab矩陣常用指令

2019-12-25 13:51:08

在學習《線性代數》時,常需要借助一些常用的矩陣指令,包括常用矩陣快速建立、矩陣元素提取等,請看下文。

1

單位矩陣建立

線上性代數運算時,常需要單位矩陣E,在matlab中可使用eyes函數,如下所示即為其語法:

Y = eye(n)

Y = eye(m,n)

Y = eye([m n])

Y = eye(size(A))

Y = eye

Y = eye(m, n, classname)

作為範例,常用Y = eye(n)指令,比如要3x3單位矩陣,則可以如下指令:

>> Y = eye(3)

輸出:

Y =

     1     0     0

     0     1     0

     0     0     1


2

全零矩陣

線上性代數運算時,有時候需要全零矩陣,可使用zeros函數。

B = zeros(n)

B = zeros(m,n)

B = zeros([m n])

B = zeros(m,n,p,...) 

B = zeros([m n p ...])

B = zeros(size(A))

Y = zeros

zeros(m, n,...,classname)

zeros([m,n,...],classname)

以上是其全部語法,常用的指令是:B = zeros(n)與 B = zeros(m,n)如下:

>> B = zeros(3)

輸出:

B =

     0     0     0

     0     0     0

     0     0     0


3

元素全為1陣

在矩陣運算時,會遇到元素全為1矩陣,此時可以藉助於ones函數。

Y = ones(n)

Y = ones(m,n)

Y = ones([m n])

Y = ones(m,n,p,...)

Y = ones([m n p ...])

Y = ones(size(A))

Y = ones

ones(m, n,...,classname)

ones([m,n,...],classname)

如上是其全部語法,其中常用的還是:Y = ones(n) 與 Y = ones(m,n) 如下範例:

>> Y = ones(3)

輸出:

Y =

     1     1     1

     1     1     1

     1     1     1


4

隨機矩陣

在概率分析或是數理推斷時常需要藉助隨機矩陣,在matlab中可使用rand函數實現,其語法如下:

r = rand(n)

r = rand(m,n)

r = rand([m,n])

r = rand(m,n,p,...)

r = rand([m,n,p,...])

r = rand

r = rand(size(A))

r = rand(..., 'double')

r = rand(..., 'single')

當然,常用的指令還是: r = rand(n) 和 r = rand(m,n)

範例:

>> r = rand(3,2)

輸出的是3行2列的隨機矩陣:

r =

    0.8147    0.9134

    0.9058    0.6324

    0.1270    0.0975


5

對角陣

在矩陣分析與計算時,尤其是計算矩陣的秩時,常會化簡矩陣為對角陣,尤其是方陣分析。在matlab中可借助diag函數求特定矩陣的對角陣,如下範例:

>> A = [1,2,3;

             4,5,6;

             7,8,9];

輸入的矩陣A是3x3方陣,輸入如下指令:

>> diag(A)

函數輸出如下圖所示:


6

提取矩陣三角部分

有時候需要提取矩陣的下三角亦或是下三角元素,可以使用tril或triu提取。

輸入矩陣:

>> A = [1,2,3;

             4,5,6;

             7,8,9];

下三角提取:

>> trilow = tril(A)

輸出:

trilow =

     1     0     0

     4     5     0

     7     8     9

上三角提取:

>> triup = triu(A)

輸出:

triup =

     1     2     3

     0     5     6

     0     0     9


7

其它作為矩陣運算實驗室,matlab提供許多矩陣運算指令例如矩陣翻轉指令flipud、fliplr,矩陣重排reshape、矩陣求秩rank等,大家可以查閱幫助檔案了解其語法。

IT145.com E-mail:sddin#qq.com