Replacing all values of a with b in a matrix?

3 Ansichten (letzte 30 Tage)
JARED VAHRENBERG
JARED VAHRENBERG am 29 Okt. 2020
Kommentiert: JARED VAHRENBERG am 29 Okt. 2020
Say I define that a and b are 3 and 4, respectively. I heva a matrix M that I want to swap all instances of a with b. How would I do that? I tried doing
res = M(M==a) = b;
it works if I don't have the res there but I need the res there to output my result for this specific issue. It keeps telling me it needs to be
res = M(M==a) == b; but that only gives me the 2x1 logical array that has 0 0 in it
  2 Kommentare
madhan ravi
madhan ravi am 29 Okt. 2020
Show what’s M and how the resulting M should be with e a small example.
JARED VAHRENBERG
JARED VAHRENBERG am 29 Okt. 2020
For example say I wanted to have matrix M= [2,5;2,8] and wanted to swap the 2's out for 1's to where then I get res = [1,5;1,8]. Why is it that my code works in the command window but as soon as I add in that res in the editor it gets angry?

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

madhan ravi
madhan ravi am 29 Okt. 2020
What do you expect == is a logical operator, when not used in symbolic calculations if you just want to assign it, then simply use
res = M;
res(res == a) = b

Weitere Antworten (0)

Kategorien

Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by