Borrar filtros
Borrar filtros

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

6 visualizaciones (últimos 30 días)
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?

Respuesta aceptada

Bruno Baptista
Bruno Baptista el 5 de Dic. de 2016
Editada: Bruno Baptista el 5 de Dic. de 2016
A = [matriz];
At = A';
N = length(A);
B = zeros(size(At));
idx = At == 0;
B(~sort(idx)) = At(~idx);
B=B'

Más respuestas (1)

Jacob Ziesenis
Jacob Ziesenis el 5 de Dic. de 2016
you can do this with the following line:
A(:,end)=0

Categorías

Más información sobre Dynamic System Models en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by