Replace values in matrix based on array values

3 visualizaciones (últimos 30 días)
N/A
N/A el 4 de Jun. de 2020
Editada: madhan ravi el 4 de Jun. de 2020
Hey guys,
I got a question and feel really dumb for not figuring it out myself.
So lets say I have a random matrix and I want to set all elements that match a specific value given by an array to zero. How do I do it ?
I know that I can do it for single elements, but I have no idea how to do it for several elements at the same time (to avoid for loops).
Example code:
x1=randi([0,10],[4,4])
y1=[3,4]
x1(x1==y1)=0;

Respuestas (2)

madhan ravi
madhan ravi el 4 de Jun. de 2020
Editada: madhan ravi el 4 de Jun. de 2020
x1(ismember(x1,y1)) = 0

Rik
Rik el 4 de Jun. de 2020
Nobody is born knowing about ismember and ismembertol. (use the latter if you expect float rounding errors)

Categorías

Más información sobre Matrix Indexing 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