Clear Filters
Clear Filters

Replacing all values of a with b in a matrix?

1 view (last 30 days)
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 Comments
madhan ravi
madhan ravi on 29 Oct 2020
Show what’s M and how the resulting M should be with e a small example.
JARED VAHRENBERG
JARED VAHRENBERG on 29 Oct 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?

Sign in to comment.

Accepted Answer

madhan ravi
madhan ravi on 29 Oct 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

More Answers (0)

Categories

Find more on Get Started with MATLAB in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!