problem in matlab, I need help
Show older comments
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 Comment
Walter Roberson
on 12 Jan 2019
please use better titles . There was no way to guess anything about the topic of the question without opening it.
Answers (1)
Image Analyst
on 12 Jan 2019
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.
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!