m1(m2 == 1), but with dimensions of m1 intact?

2 visualizaciones (últimos 30 días)
Ulrik William Nash
Ulrik William Nash el 23 de Ag. de 2017
Comentada: Ulrik William Nash el 23 de Ag. de 2017
I have a matrix of 1's and 0'1, m2. I have another matrix with the same dimensions as m2, containing values (i.e., m1). Of these values, I am only interested in those where the corresponding value in m2 is 1. However, as an extra condition, I wish to create m3, which has the same dimensions as m1 and m2, and contains the selected values in the corresponding places, with all other places being NaN. I am stuck on how to do that without looping.

Respuesta aceptada

Stephen23
Stephen23 el 23 de Ag. de 2017
Editada: Stephen23 el 23 de Ag. de 2017
Method one:
m3 = m1;
m3(m2~=1) = NaN;
Method two:
m3 = NaN(size(m1));
idx = m2==1;
m3(idx) = m1(idx);
Method three :
m3 = m2./m2.*m1;

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by