线性索引,逻辑索引等等

我们习惯于在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中有哪些类型的索引?

  • 如何将它们结合起来?

  • 应如何提及这些问题?

线性索引,逻辑索引等等

皈依舞
浏览 733回答 2
2回答

慕桂英4014372

这个部分是线性的,这是一个很好的发现!
打开App,查看更多内容
随时随地看视频慕课网APP