Deleting rows in a matrix with condition on its column value
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponse acceptée
James Tursa
le 26 Sep 2018
Modifié(e) : James Tursa
le 26 Sep 2018
New_LongDataUn(New_LongDataUn(:,11) < 1e-12,:) = [];
3 commentaires
James Tursa
le 26 Sep 2018
If you mean into a mat file, then simply
save your_matfile_name New_LongDataUn
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!