Deleting rows in a matrix with condition on its column value
1 view (last 30 days)
Show older comments
Hi there,
I have a text file with about 14 millions rows and 11 columns. On the 11th column, there are values that are really small.. and I want to get rid of the rows that their 11th column has a value that is smaller than 10^-(12).
I loaded the file into matlab and now it's stored in a variable as a matrix with 14 million rows and 11 columns.. and I wrote this code but it is so painfully slow that it takes it about 1 second per row.. so that's 150 days for the whole matrix.
that's my slow code:
for i = 1 : 13847014
if New_LongDataUn(i,11) < 10^-(12)
New_LongDataUn(i,:) = [];
end
end
Thanks for all the kind help you guys!
0 Comments
Accepted Answer
James Tursa
on 26 Sep 2018
Edited: James Tursa
on 26 Sep 2018
New_LongDataUn(New_LongDataUn(:,11) < 1e-12,:) = [];
3 Comments
James Tursa
on 26 Sep 2018
If you mean into a mat file, then simply
save your_matfile_name New_LongDataUn
More Answers (0)
See Also
Categories
Find more on Database Toolbox 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!