How can i put all zeros in the end of the rows in a matrix?

6 次查看(过去 30 天)
i wanto to put all the zero elemets of a matrix to the end of the rows. For example if i have A=[1 0 2 3 0;1 3 0 2 5;0 2 4 0 1] i want it to become A=[1 2 3 0 0;1 3 2 5 0;2 4 1 0 0]
Like, A=[1 0 2 3 0 to A=[1 2 3 0 0
1 3 0 2 5 1 3 2 5 0
0 2 4 0 1] 2 4 1 0 0]
is there any way of doing this?

采纳的回答

Bruno Baptista
Bruno Baptista 2016-12-5
编辑:Bruno Baptista 2016-12-5
A = [matriz];
At = A';
N = length(A);
B = zeros(size(At));
idx = At == 0;
B(~sort(idx)) = At(~idx);
B=B'

更多回答(1 个)

Jacob Ziesenis
Jacob Ziesenis 2016-12-5
you can do this with the following line:
A(:,end)=0

类别

Help CenterFile Exchange 中查找有关 Dynamic System Models 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by