關於部落格
  • 122904

    累積人氣

  • 31

    今日人氣

    0

    追蹤人氣

矩陣基本計算

下標操作與矩陣算子 
下標操作: 對一個已知的矩陣 A
  1. A(m,n) - 取出矩陣第 m row, n column 元素.
  2. A(4:5,2:3) - 取出 row  4~5, column 2~3 的部分矩陣.

矩陣算子:(A,B 為矩陣, a 為純量)
  1. A+B, A-B: 兩矩陣個別元素相加(相減).
    *. a+A, a-A: 矩陣所有元素加a, 矩陣所有元素被a減.
  2. A*B: 純量或矩陣乘法. EX: A*B or a*A; ( .*: 個別元素相乘)
  3. /: 純量除法. EX: A/a; ( ./: 個別元素相除. EX: A./B)
  4. ^: 次方. EX: A^2=A*A ( .^: 個別元素次方. EX: A.^2)
  5. ': 轉置. EX: A'
 
  
矩陣常用函數 
  1. diag(A) - 取出 A 的對角
  2. zeros(m,n) - 建立 mxn 全 0 矩陣
  3. ones(m,n) - 建立 mxn 全 1 矩陣
  4. eye(n) - 建立 nxn 對角為 1 矩陣, 單位矩陣.
  5. rand(m,n) - 建立 mxn 平均分布隨機數矩陣
  6. randn(m,n) - 建立 mxn 正規(Normal)分布隨機數矩陣, mu=0, sigma=1.
  7. det(A) - 計算矩陣的行列式值.
  8. eig(A) - 矩陣的特徵函數.

eig(A) - 特徵函數, 計算矩陣的特徵值(向量).
*. L=eig(A) - 將 L 設為特徵值(向量).
*. [L,V]=eig(A) - 將 V 設為對應 L 的特徵值(矩陣).

個別元素類函數:
  1. abs(A) - 絕對值.
  2. sqrt(A) - 開根號.
  3. floor(A) - 高斯, 地板函數.
  4. exp(X) - 指數 e^X
  5. log(X) - 自然對數 ln(x)

向量函數: (V,W 為向量, nx1 矩陣)
  1. min(V) - 取 V 中元素最小值.
  2. max(V) - 取 V 中元素最大值.
  3. mean(V) - 取 V 中數據的平均.
  4. median(V) - 取 V 中數據的中位數.
  5. std(V) - 取 V 中數據的標準差.
  6. length(V) - 取 V 的向量長度(維度).
  7. sum(V) - 取 V 中元素的加總.
  8. prod(V) - 取 V 中元素的乘積. 說明文件.
  9. cross(V,W) - 計算 V 跟 W 兩向量外積.

M=max(V) -將 M 設為 V 的最大元素.
*.[M,p]=max(V) - 將 p 設為最大元素的序(index), 兩個以上取最前面的.

範例:
1. 陣列反轉 X(end:-1:1)
假如設陣列 X=[4 5 6], 如果想取得倒過來的陣列 [ 6 5 4 ] 可以使用指令
>>X(3:-1:1)
或是直接
>>X(end:-1:1)

2. (a-X(1))*(a-X(2))*...*(a-X(n)) 可用以下指令一次完成
>> prod(a-X)
 
 
  
A( : , : , # ) - 高維度矩陣 - 分頁序(Page) 
說明: 當一個矩陣不夠用時, 或是很多矩陣 A1, A2, A3, ..., An 需要排序處理時. 可以對下一個為度定義分頁. 或是可以直接看成高維度陣列.

意示圖:


# - 頁數(Page)

A( :, :, 1 ) = [1, 2; 3, 4] %將第一頁定義成矩陣

A( :, :, 1 ) = [5, 6; 7, 8] %將第二頁定義成矩陣
則 A 將變成兩頁
元素的取用
A( 2, 1 ,1 ) - 取用第一頁的第 (2,1) 元素
*. 對象量使用分頁就是一般的 2維矩陣. V( :, #), 也就是把第二個行(column)當做分頁.
*.一樣可以擴展成四維甚至更高.
 
  
參考資料: MATLAB 程式設計與應用 張智星  清蔚科技出版 
圖片備份: 
See also 
Octave 軟體簡介, 連結
Octave 指令用法, 連結
PROD - 連乘函數, 連結
 


相簿設定
標籤設定
相簿狀態