For loop with a 10000x6
Afficher commentaires plus anciens
I have a 10000x6 matrix and i need to starters make a for loop which goes through the first column (it has values 1 and 0 in it) and deletes the rows with '0'. I've been battling with this as I just can't get it to work. If you could help with the whole loop.
1 commentaire
Matt J
le 3 Jan 2018
When you say a "table", do you mean an actual table data type, or do you just mean a 10000x6 matrix, A?
Réponses (2)
Andrei Bobrov
le 3 Jan 2018
Modifié(e) : Andrei Bobrov
le 3 Jan 2018
Let T - your table:
T_out = T(T{:,1} ~= 0,:);
3 commentaires
Matt J
le 3 Jan 2018
It is usually more efficient to keep the wanted data.
Is it?
@Matt J: It was something that I remember from doing some tests a few years ago, so quite likely depends on the number of elements and probably the MATLAB version. Some test results just now (test script is attached):
Elapsed time is 4.978532 seconds. % removing elements
Elapsed time is 1.840707 seconds. % keeping elements
A(A(:,1)==0,:)=[] ;
Catégories
En savoir plus sur Loops and Conditional Statements 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!