Function like "find" but for lines
Afficher commentaires plus anciens
Hi everyone, I need a function that starts counting every element in an array (each line), and when it finds 0, it can skip it.
ex: A = [6 5 0 1; 3 1 0 0; 12 0 100 20]
newA = [ 1 2 4 5 6 9 11 12]
I was trying something like this:
k = 0;
colind = 1:numel(A);
colind(A!=k)
But it only takes me each column in the matrix.
wrong: newA = [1 2 3 4 5 9 10 12]
I want to count my elements on each line of the matrix. A little help please! :)
Réponse acceptée
Plus de réponses (2)
Birdman
le 7 Avr 2020
B=reshape(A.',1,[]);
C=(1:numel(A)).*(B~=0);
C=C(C~=0)
Ameer Hamza
le 7 Avr 2020
Modifié(e) : Ameer Hamza
le 7 Avr 2020
new_A = find(A')
2 commentaires
steve Brian
le 7 Avr 2020
Ameer Hamza
le 7 Avr 2020
Modifié(e) : Ameer Hamza
le 7 Avr 2020
The functionality of find function is the same, so
[new_A,~] = find(A');
Catégories
En savoir plus sur MATLAB dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!