1. 程式人生 > >Matlab中的矩陣的單一索引(線性索引)

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

可參考官方文件:

https://ww2.mathworks.cn/help/matlab/math/matrix-indexing.html

 

重點說以下線性索引:

可以使用單個下標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