Replacing all values of a with b in a matrix?

2 vues (au cours des 30 derniers jours)
JARED VAHRENBERG
JARED VAHRENBERG le 29 Oct 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 commentaires
madhan ravi
madhan ravi le 29 Oct 2020
Show what’s M and how the resulting M should be with e a small example.
JARED VAHRENBERG
JARED VAHRENBERG le 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?

Connectez-vous pour commenter.

Réponse acceptée

madhan ravi
madhan ravi le 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

Plus de réponses (0)

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by