Matlab中的矩陣的單一索引(線性索引)
阿新 • • 發佈:2018-11-28
可參考官方文件:
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)
A
的儲存列的偏移計算為 (2-1) * 3 + 3
,即 6
。從頭開始數六個元素即會到達值 5
。