Set vector elements of one vector to nonzero elements of another
1 view (last 30 days)
Show older comments
So I have two vectors:
v1, v2, both same size.
I want to find all the elements where v2 is not zero and set the corresponding elements in v1 to those values, while leaving the other elements in v1 untouched.
E.g.
v1=[1 2 3 4 5] v2=[1 0 1 1 0]
Code I need goes here
v1 --> [1 2 1 1 5]
Can I do this without loops? Thanks.
1 Comment
Accepted Answer
Sean de Wolski
on 1 Apr 2011
v1(logical(v2)) = v2(logical(v2));
or on two lines:
idx = logical(v2);
v1(idx) = v2(idx);
0 Comments
More Answers (1)
See Also
Categories
Find more on Elementary Math in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!