matlab中sub2ind方法的使用

2021-10-10 12:54:35 字數 650 閱讀 3906

su2ind函式是對矩陣索引號檢索的函式,ans=sub2ind(size,i,j) 其中第乙個引數size表示矩陣的行數和列數,i是轉換矩陣的行標,j是轉換矩陣的列標。i和j的行列數必須相同。最終結果ans對應i,j對應行列在整個矩陣中的索引。在命令視窗中輸入驗證:

例項1>> sub2ind([10 10],9,2)

ans=19

表示求乙個10*10矩陣中,第9行第2列對應的元素在整個矩陣中的索引。輸出結果為19

例項2>> b=magic(5)

b =17    24     1     8    15

23     5     7    14    16

4     6    13    20    22

10    12    19    21     3

11    18    25     2     9

>> sub2ind(size(b),[1,2,3],[2,3,4])

ans =

6    12    18

表示求矩陣b中第1行(2行/3行)第2列(3列/4列)的元素在整個矩陣b中的索引,分別為6 12 18.

【注意】matlab中資料是按照列的方式儲存的,即是以第一列,第二列這樣的順序直到對應元素出現求其索引的。

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...