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

2 visualizzazioni (ultimi 30 giorni)
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.)

Risposta accettata

Paulo Silva
Paulo Silva il 11 Dic 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
  3 Commenti

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Resizing and Reshaping Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by