Updating an array elements with elements from another Array

11 views (last 30 days)
Hello, Could I please get some assistance on how to update array elements with elements from another array, For example
A = rand(10,10);
B = rand(10,10);
Result = A-B;
%Identifty which elements are greater than 0
SlctElemnts = Result > 0 ;
%%Update all the elements in A that is less than 0 with the element in B
% A (Result<0);
disp(A)

Accepted Answer

Rik
Rik on 26 May 2018
How about something like this:
A = rand(10,10);
B = rand(10,10);
Result = A-B;
LogicalIndex= Result<0;
A(LogicalIndex)=B(LogicalIndex);

More Answers (1)

Ameer Hamza
Ameer Hamza on 26 May 2018
Edited: Ameer Hamza on 26 May 2018
For indexing based solution, refer to Rik's answer. But in this specific case, you are trying to find the element-wise maximum value from both A and B. So you can do it faster using max() function,
A = max(A, B)
  1 Comment
Zaharaddeen Hussaini
Zaharaddeen Hussaini on 27 May 2018
This works in my case as well like you pointed out. However index based solution is what I needed here. Thank you

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!