Matlab中的矩陣的單一索引(線性索引)

2021-08-31 16:08:10 字數 741 閱讀 8332

重點說以下線性索引:

可以使用單個下標a(k) 表示matlab矩陣中的元素,matlab不會以矩陣和陣列在matlab命令列視窗中的顯示形狀儲存矩陣和陣列,而是會將矩陣和陣列儲存為單個元素列。這種單個列由矩陣中的所有列組成,沒一列都附加到最後一列。

因此,矩陣a

a = [2 6 9; 4 2 8; 3 5 1]

a = 2 6 9

4 2 8

3 5 1

實際上是以序列形式儲存在記憶體中:2,4,3,6,2,5,9,8,1

矩陣a中位於第3行,第2列的元素(值=5)也可以標識為實際儲存序列中的第6個元素。要訪問此元素,可以使用標準的a(3,2)語法,也可以使用a(6)。

如果提供多個下標,matlab 將會基於分配給陣列的維度計算儲存列的索引。例如,假定a之類的二維陣列的大小為[d1 d2],其中d1表示陣列中的行數,d2表示列數。如果提供兩個表示行-列索引的下標(i, j),則偏移為

(j-1) * d1 + i
給定表示式a(3,2),matlab 會將a的儲存列的偏移計算為(2-1) * 3 + 3,即6。從頭開始數六個元素即會到達值5

MATLAB高維矩陣的求和 索引

最簡單的,a ones m,n,p 就建立了p個m行n列的矩陣。只討論sum函式。規律和普通的二維矩陣求和一樣 sum一下在乙個維度上求和,可認為消去了乙個維度,具體的求和方向可以通過1,2引數設定來控制。有一點需要說明的就是 在高維矩陣的情況下,比如下圖的a矩陣,sum兩下之後,前兩個維度其實已經...

matlab中的矩陣用法

1 矩陣的輸入 a 1,2,3 4,5,6 7,8,9 要直接輸入矩陣時,矩陣一行中的元素用空格或逗號隔開 矩陣行與行之間用分號 隔開,這個矩陣放在方括號 裡。a 1,2,3 矩陣的分行輸入 4,5,6 7,8,9 a 1 2 3 4 5 6 7 8 9 說明 指令執行後,矩陣a被儲存在matlab...

matlab中矩陣元素的比較

matlab中的的最大值和最小值 matlab提供的求資料序列的最大值和最小值的函式分別為max和min,兩個函式的呼叫格式和操作過程類似。1 求向量的最大值和最小值 求乙個向量x的最大值的函式有兩種呼叫格式,分別是 1 y max x 返回向量x的最大值存入y,如果x中包含複數元素,則按模取最大值...