Filling vector with a condition.
8 views (last 30 days)
Show older comments
Hi.
I have two vectors A and B of the same length
I wan´t to create a new vector containing the same numbers of B, but only if the same element in A was a number>0, if not, i want to put a zero in that element.
How can i do this? Could you help me?
Thank you in advance!!
0 Comments
Accepted Answer
Stephan M. H.
on 9 May 2013
Edited: Stephan M. H.
on 9 May 2013
Hi Javier,
as far as I understood your question you want to create a new vector with
for i=1:lenght(A)
if A(i)>0
C(i) = B(i)
end
end
This could be done in with the for loop above, but the fastest way should be via logical indexing.
C = zeros(size(A));
flag_a = A >0 % is logical 1 where elements are bigger zero
C(flag_a) = B(flag_a);
best, Stephan
See Also
Categories
Find more on Assembly 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!