Change the values of a matrix using indices of another matrix

4 visualizaciones (últimos 30 días)
I have two matrices A and B. I want to know how do I change the values of A with using indexes of B.
A =
1 2 0 6 3
B =
1 1 0 1 0
Essentially I want to add 5 to an index of A where B==1 and keep the rest of A unchanged so I can have A be like this. I'd also prefer if someone could show me how I would do this with a while loop.
A =
6 7 0 11 3

Respuesta aceptada

Mohammad Abouali
Mohammad Abouali el 2 de Dic. de 2015
Editada: Mohammad Abouali el 2 de Dic. de 2015
mask = (B==1)
A(mask) = A(mask) + 5
if B is only zero and one then
A(logical(B)) = A(logical(B)) + 5;
and if B is already a logical variable then
A(B) = A(B) + 5;
  2 comentarios
Anthony Siddique
Anthony Siddique el 2 de Dic. de 2015
How would I do this if it wasn't just 1's and 0's. If there were multiple conditions with other matrices?
Walter Roberson
Walter Roberson el 2 de Dic. de 2015
mask = (C == 7);
A(mask) = A(mask) + whatever_value;

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by