problem in matlab, I need help

insert a matrix with integers numbers : randi([-1,3],5,4)
3 2 -1 0
-1 1 0 2
0 3 -1 0
0 1 2 1
-1 2 3 3
I need the matrix after all the zeros will bubble up:
0 2 0 0
0 1 -1 0
3 3 -1 2
-1 1 2 1
-1 2 3 3

1 comentario

Walter Roberson
Walter Roberson el 12 de En. de 2019
please use better titles . There was no way to guess anything about the topic of the question without opening it.

Iniciar sesión para comentar.

Respuestas (1)

Image Analyst
Image Analyst el 12 de En. de 2019

0 votos

Here is one way:
m = randi([-1,3],5,4)
[rows, columns] = size(m);
mOutput = zeros(size(m));
for col = 1 : columns
thisCol = m(:, col);
zeroIndexes = thisCol == 0;
mOutput(sum(zeroIndexes)+1:end, col) = thisCol(~zeroIndexes);
end
mOutput % Report to the command window.

Categorías

Más información sobre Startup and Shutdown en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 12 de En. de 2019

Comentada:

el 12 de En. de 2019

Community Treasure Hunt

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

Start Hunting!

Translated by