MATLAB sub2ind函式的使用

2021-10-23 17:07:25 字數 762 閱讀 3001

在matlab軟體中,矩陣的元素可以使用三種方式進行標識:

全下標標識法

最經典的標識方法,使用行下標與列下標的組合用以標識單個元素

單下標標識法

矩陣的後台儲存形式是按照單下標標識法作為一列儲存到記憶體中的,也就是說在這個過程中會將二維的矩陣進行一維的編號。而單下標與雙下標的轉換關係為,m*n的二維矩陣的雙下標 (a,b) 單下標c = (b-1)m+a

邏輯1標識法

用乙個基於原矩陣a相對位置的邏輯陣列b來對矩陣a進行尋訪

sub2ind函式

a = [1 2 3; 4 5 6]

a =

1     2     3

4 5 6

a=sub2ind(size(a),[1 2 ],[1 2]) %兩個目標元素的雙下標

a =

1     4
%得到目標元素在單下標標記法中的編號

a = a(sub2ind(size(a),[1 2 ],[1 2]))

a =

1     5
根據得到的編號訪問到目標元素

matlab中的sub2ind函式

在matlab中,矩陣的儲存是按列優先,sub2ind函式將矩陣中指定元素的行列下標轉換成儲存的序號,即線性索引號。下面,我們舉例子進行說明。1 建立乙個3 4 2的矩陣 rng 0,twister initialize random number generator.a rand 3,4,2 a ...

ind2sub函式的使用方法

ind的意思是index,即索引值,sub的意思是subscript,即下標,2就是to的意思。所以這個函式的意思是把矩陣中某個元素的索引值轉換為下標。索引值 矩陣中某個元素的索引值就是它在矩陣中排第幾位的意思。比如 1 2 3 4 5 6 7 8 9 那麼4的索引值就是2,而其下標是 2,1 8的...

MATLAB中的ind2vec和vec2ind函式

先說容易理解的vec2ind吧,從命令名字上可以看出是 向量變索引 假設乙個3 6的稀疏矩陣t 1,0 1 0 0 1 0 t 2,1 0 1 1 0 0 t 3,0 0 0 0 0 1 通過vec2ind t 將會得到什麼?因為通過矩陣知道t是6列的,t 0 1 0 0 1 0 1 0 1 1 0...