i need to convert below batrix to another matrix

1 visualización (últimos 30 días)
Nitin Sapre
Nitin Sapre el 8 de Nov. de 2019
Comentada: Walter Roberson el 8 de Nov. de 2019
b=[308 -1 2 3 -1 2 -1;
-1 -1 2 1 0 1 0;
1 2 -1 -1 -1 -1 2;
0 0 1 -1 -1 2 -1];
to
b=[308 2 3 2 ;
2 1 0 1 0;
1 2 2;
0 0 1 2 ]
fill all ending elements with 0
b=[308 2 3 2 0 ;
2 1 0 1 0;
1 2 2 0 0;
0 0 1 2 0]
thanks
  1 comentario
Walter Roberson
Walter Roberson el 8 de Nov. de 2019
Is it correct that the rule is that each row should have all negative values removed, and then all rows should be padded out with 0 to the length of the longest remaining row ?

Iniciar sesión para comentar.

Respuesta aceptada

KSSV
KSSV el 8 de Nov. de 2019
b=[308 -1 2 3 -1 2 -1;
-1 -1 2 1 0 1 0;
1 2 -1 -1 -1 -1 2;
0 0 1 -1 -1 2 -1];
% Get positive count from each row
N = sum(b>0,2) ;
iwant = zeros(size(b,1),max(N)) ;
for i = 1:size(b,1)
bi = b(i,:) ;
iwant(i,1:N(i)) = bi(bi>0) ;
for
  1 comentario
Walter Roberson
Walter Roberson el 8 de Nov. de 2019
Should be b>=0 as row 2 shows an example of a 0 being preserved.

Iniciar sesión para comentar.

Más respuestas (1)

Nitin Sapre
Nitin Sapre el 8 de Nov. de 2019
Yes sir that's what I need

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Etiquetas

Productos


Versión

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by