我想以有效的方式'过滤'一个向量:
我的第一个向量M
包含0到1之间的值以及一个'关联'向量V
。
我想创建一个新矩阵,其中包含V
的元素M
中的数字大于0.5。
我认为我可以创建一个像M>0.5
这样的矩阵,它包含0和1并保留索引的索引,而不是创建filtered = V(indexes)
。
如何获取indexes
向量? (没有for循环)
答案 0 :(得分:5)
如果M
和V
是相同大小的向量,那么
filteredV=V(M>0.5);
我认为应该工作。
答案 1 :(得分:3)
使用find()返回非零的索引。
M = rand(1,5)
indexes = find(M>0.5)
filtered = V(indexes)
BR 马格努斯