2

我想以一种有效的方式“过滤”一个向量:

我有一个M包含 0 和 1 之间的值的第一个向量和一个“关联”向量V

我想创建一个新矩阵,其中包含V其中数字M大于 0.5 的元素。

我想我可以创建一个M>0.5包含 0 和 1 并保留索引的矩阵,而不是 create filtered = V(indexes)

我怎样才能得到indexes向量?(没有 for 循环)

4

2 回答 2

5

如果MV是相同大小的向量,则

filteredV=V(M>0.5);

我认为应该工作。

于 2013-10-29T00:08:58.490 回答
3

使用 find() 返回非零的索引。

M        = rand(1,5)
indexes  = find(M>0.5)
filtered = V(indexes)

BR马格努斯

于 2013-10-29T00:38:16.830 回答