Comparing two matrices, and acting upon the result element by element.

1 view (last 30 days)
Hi All,
I have two large 2D matrices, A and B of equal dimensions, containing integer values.
What I would like to do is if the value of the element in A is equal to a specific value, then use the value from B, but otherwise leave the value of A unchanged. I am pretty certain this should be simple to implement but I have hit a brick wall in my competence.
Thank you very much!
M
(I have found a way of doing this with a dreadfully inefficient bash script, but this takes literally days to run, as it involves lots of temporary files etc. There are also ways I have fond in previous answers that come close to solving it, but I can't find anything specific enough that I can successfully adapt it.)

Accepted Answer

Paulo Silva
Paulo Silva on 11 Dec 2011
A=randi(5,3,3)
B=10*randi(5,3,3)+5
v=2 %your specific value
A(A==v)=B(A==v) %replace elements of A equal to v by B ele. on same position

More Answers (0)

Categories

Find more on Resizing and Reshaping Matrices 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!