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 Kommentar

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

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Image Analyst
Image Analyst am 12 Jan. 2019

0 Stimmen

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.

Kategorien

Mehr zu Startup and Shutdown finden Sie in Hilfe-Center und File Exchange

Gefragt:

am 12 Jan. 2019

Kommentiert:

am 12 Jan. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by