Clear Filters
Clear Filters

Deleting rows in a matrix with condition on its column value

1 view (last 30 days)
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!

Accepted Answer

James Tursa
James Tursa on 26 Sep 2018
Edited: James Tursa on 26 Sep 2018
New_LongDataUn(New_LongDataUn(:,11) < 1e-12,:) = [];
  3 Comments
James Tursa
James Tursa on 26 Sep 2018
If you mean into a mat file, then simply
save your_matfile_name New_LongDataUn

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!