【发布时间】:2012-07-10 06:40:30
【问题描述】:
我正在寻找一个优雅的解决方案来解决 MATLAB 中这个非常简单的问题。假设我有一个矩阵
>> M = magic(5)
M =
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
和形式的逻辑变量
I =
0 0 0 0 0
0 1 1 0 0
0 1 1 0 0
0 0 0 0 0
0 0 0 0 0
如果我尝试检索与I 中的1 值关联的M 的元素,我会得到一个列向量
>> M(I)
ans =
5
6
7
13
从这个逻辑索引中获取矩阵[5 7 ; 6 13] 的最简单方法是什么?
如果我知道I 的非零元素的形状,我可以在索引后使用reshape,但这不是一般情况。
另外,我知道 MATLAB 中这种类型的索引的默认行为对于I 中的非零值不形成矩阵的情况强制执行一致性,但我想知道是否存在针对这种特殊情况的简单解决方案。
【问题讨论】:
标签: matlab matrix indexing addressing submatrix