Фильтровать октавный вектор по массиву bool - PullRequest
1 голос
/ 04 мая 2020

У меня есть вектор в октаве, который выглядит следующим образом:

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 для фильтрации А вот так:

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

так, что для каждого элемента в A, где эквивалентный элемент в B равен 0, он удаляется из A Каков эффективный способ сделать это?

1 Ответ

2 голосов
/ 05 мая 2020

Может быть, вы можете попробовать logical для индексации, например,

A(logical(B))

, что дает

>> A(logical(B))
ans =

    1    6    8   99
...