Non Zero element appear first with keeping the same size of the matrix?
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Rubel Ahmed
le 5 Nov 2019
Commenté : Rubel Ahmed
le 5 Nov 2019
A = [1 0 2 3;2 0 0 5; 3 0 0 1; 0 0 1 5];
How The matrix will be transformed like this (No-zero element will come first, row wise)
A = [1 2 3 0; 2 5 0 0; 3 1 0 0; 1 5 0 0]
0 commentaires
Réponse acceptée
JESUS DAVID ARIZA ROYETH
le 5 Nov 2019
solution :
A = [1 0 2 3;2 0 0 5; 3 0 0 1; 0 0 1 5];
A(A==0)=nan;
A=sort(A,2);
A(isnan(A))=0;
disp(A)
2 commentaires
Plus de réponses (1)
Richard Brown
le 5 Nov 2019
here's a really naive way to do it:
[m, n] = size(A);
for i = 1:m
k = find(A(i, :))
A(i, :) = [A(i, k), zeros(1, n - numel(k))]
end
I'm sure there's a more fancy vectorised method, but this will do the job.
2 commentaires
Voir également
Catégories
En savoir plus sur Dates and Time dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!