Sum two arrays using logical indices

I want to sum two arrays
a = [ 1 2 3];
b = [2 3 1 ];
a_logical = [0 1 0];
a_logical = ~a_logical;
b_logical = [1 0 0];
b_logical = ~b_logical;
I want the sum of a + b to be
[ 1 0 3] + [0 3 1] = [1 3 4]
Any suggestion on how the above sum can be obtained using the logical indices stored in a_logical and b_logical?

 Accepted Answer

c=a.*(a_logical)+b.*(b_logical)
c =
1 3 4

More Answers (1)

Could it be that way? :
a (or (a_logical, b_logical)) + b (or (a_logical, b_logical))

Categories

Products

Release

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!