我们习惯于在Matlab中使用不同形式的索引:标准(使用沿每个维度的整数),逻辑(使用逻辑值),线性(使用单个索引遍历多个维度的数组)。乍一看,这些形式似乎是排他性的:索引要么是标准的,要么是逻辑的,或者是线性的。然而,有时这些形式中的几种似乎是混合在一起的。例如,>> A = magic(3)A =
8 1 6
3 5 7
4 9 2>> A(A>5)ans =
8
9
6
7这是合乎逻辑的索引,对吧?但是它也有一些线性索引的特性,因为返回列向量。实际上,逻辑索引A>5具有与线性指数相同的效果。find(A>5).作为第二个例子,请考虑>> A = magic(3)A =
8 1 6
3 5 7
4 9 2>> A(1:2, [true false true])ans =
8 6
3 7在这个表达式中,标准(整数值)索引用于第一个坐标,逻辑索引用于第二个坐标。这些例子(以及在实践中出现的更复杂的例子)提出了以下问题:Matlab中有哪些类型的索引?如何将它们结合起来?应如何提及这些问题?线性索引,逻辑索引等等
添加回答
举报
0/150
提交
取消