Creating a 2D matrix of non-zero modes from a 3D array

2 visualizaciones (últimos 30 días)
Hello,
I have a large 3D array Q (17019x68x50).
I'd like to create a new 2D matrix modeQ which is 68x50 (i.e. the latter two dimesions), with the values being the modes of each corresponding column in the array.
I'm interested only in non-zero modes, but other values are much less frequent than zero, so mode(Q,1) throws out a matrix of only zeroes.
I do not understand the nonzeros function enough to utilise it correctly either.
  1 comentario
KALYAN ACHARJYA
KALYAN ACHARJYA el 26 de Nov. de 2019
Yes the size of Q is 17019x68x50, what is resultant size as you expected?

Iniciar sesión para comentar.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 26 de Nov. de 2019
Q(Q == 0) = NaN;
out = squeeze(mode(Q));
out(isnan(out)) = 0;

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by