我們習(xí)慣于在Matlab中使用不同形式的索引:標(biāo)準(zhǔn)(使用沿每個(gè)維度的整數(shù)),邏輯(使用邏輯值),線性(使用單個(gè)索引遍歷多個(gè)維度的數(shù)組)。乍一看,這些形式似乎是排他性的:索引要么是標(biāo)準(zhǔn)的,要么是邏輯的,或者是線性的。然而,有時(shí)這些形式中的幾種似乎是混合在一起的。例如,>> A = magic(3)A =
8 1 6
3 5 7
4 9 2>> A(A>5)ans =
8
9
6
7這是合乎邏輯的索引,對(duì)吧?但是它也有一些線性索引的特性,因?yàn)榉祷亓邢蛄俊?shí)際上,邏輯索引A>5具有與線性指數(shù)相同的效果。find(A>5).作為第二個(gè)例子,請(qǐng)考慮>> A = magic(3)A =
8 1 6
3 5 7
4 9 2>> A(1:2, [true false true])ans =
8 6
3 7在這個(gè)表達(dá)式中,標(biāo)準(zhǔn)(整數(shù)值)索引用于第一個(gè)坐標(biāo),邏輯索引用于第二個(gè)坐標(biāo)。這些例子(以及在實(shí)踐中出現(xiàn)的更復(fù)雜的例子)提出了以下問題:Matlab中有哪些類型的索引?如何將它們結(jié)合起來?應(yīng)如何提及這些問題?線性索引,邏輯索引等等
線性索引,邏輯索引等等
皈依舞
2019-06-18 17:08:40