Replacing all values of a with b in a matrix?

5 次查看(过去 30 天)
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 个评论
madhan ravi
madhan ravi 2020-10-29
Show what’s M and how the resulting M should be with e a small example.
JARED VAHRENBERG
JARED VAHRENBERG 2020-10-29
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?

请先登录,再进行评论。

采纳的回答

madhan ravi
madhan ravi 2020-10-29
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Resizing and Reshaping Matrices 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by