【发布时间】:2013-03-25 23:22:28
【问题描述】:
我有一个相当大的矩阵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;这不是我使用的实际数据。)
【问题讨论】:
-
只是好奇,您使用的是什么实现?
-
确实,我以前没有见过这种计算,所以我想知道你想达到什么目的。可能有更好的方法。
-
@DennisJaheruddin 我正在尝试从图像中提取字母。
标签: matlab matrix octave vectorization cell-array