首页 > 解决方案 > 按 bool 数组过滤倍频程向量

问题描述

我有一个八度音阶的向量,如下所示:

A=[1,2,3,4,5,6,7,8,99]

一个 bool 向量,如下所示:

% [1,2,3,4,5,6,7,8,99]
B=[1,0,0,0,0,1,0,1,1]

我想用 B 来过滤 A 像这样:

filter(A,B)=>[1,6,8,99]

所以对于 A 中的每个元素,其中 B 中的等效元素为 0,它会从 A 中删除 有什么有效的方法来做到这一点?

标签: octave

解决方案


也许你可以尝试logical索引,例如,

A(logical(B))

这使

>> A(logical(B))
ans =

    1    6    8   99

推荐阅读