For loop with a 10000x6
Show older comments
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 Comment
Matt J
on 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?
Answers (2)
Andrei Bobrov
on 3 Jan 2018
Edited: Andrei Bobrov
on 3 Jan 2018
Let T - your table:
T_out = T(T{:,1} ~= 0,:);
3 Comments
Matt J
on 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,:)=[] ;
Categories
Find more on Loops and Conditional Statements in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!