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

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.)

 Akzeptierte Antwort

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

3 Kommentare

I think you mean
A(A==v) = B(A==v)
nice catch, silly mistake, thanks :)
Perfect, thank you very much!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by