我有一个相当大的矩阵M
,我只对其中的几列感兴趣。我有一个布尔向量V
,其中的值1
表示感兴趣的列。例子:
-1 -1 -1 7 7 -1 -1 -1 7 7 7
M = -1 -1 7 7 7 -1 -1 7 7 7 7
-1 -1 7 7 7 -1 -1 -1 7 7 -1
V = 0 0 1 1 1 0 0 1 1 1 1
如果 的多个相邻值V
都是1
,那么我希望将 的相应列M
提取到另一个矩阵中。这是一个示例,使用之前的矩阵。
-1 7 7 -1 7 7 7
M1 = 7 7 7 M2 = 7 7 7 7
7 7 7 -1 7 7 -1
我怎样才能有效地做到这一点?我希望矩阵的所有这些部分都M
存储在一个单元阵列中,或者至少有一种有效的方法来一个接一个地生成它们。目前我在一个while循环中这样做,它没有我想要的那么有效。
(请注意,我的示例仅包含值-1
,7
只是为了清楚起见;这不是我使用的实际数据。)