I have a boolean array call it flag.
I have two numeric arrays ifTrue, ifFalse. All these arrays are the same size, For purposes of this question assume every element in these arrays is unique.
I would like a function g with the property that
a = g(flag, ifTrue, ifFalse) all(flag == (a == ifTrue)) all(~flag == (a == ifFalse)) Or in English, I would like g to return ifTrue elements when flag is true, and ifFalse elements when flag is false.
Or, in matlab, I could do this with loops:
a = zeros(size(ifTrue)); for i = 1 : numel(ifTrue); if flag(i) a(i) = ifTrue(i) else a(i) = ifFalse(i) end end Is there a vectorized approach?
Thanks