J'ai un tableau booléen l'appeler flag
.vectorisé si dans matlab
J'ai deux tableaux numériques ifTrue
, ifFalse
. Tous ces tableaux sont de la même taille. Pour les besoins de cette question, supposons que chaque élément de ces tableaux est unique.
Je voudrais une fonction g
avec la propriété que
a = g(flag, ifTrue, ifFalse)
all(flag == (a == ifTrue))
all(~flag == (a == ifFalse))
Ou en anglais, je voudrais revenir g
ifTrue
éléments lorsque flag
est vrai, et ifFalse
éléments quand flag
est faux.
Ou, dans Matlab, je pouvais le faire avec des boucles:
a = zeros(size(ifTrue));
for i = 1 : numel(ifTrue);
if flag(i)
a(i) = ifTrue(i)
else
a(i) = ifFalse(i)
end
end
Y at-il une approche vectorisé?
Merci
+1 Cette solution est beaucoup plus efficace que le mien :) – kol