Deleting rows in a matrix with condition on its column value
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
James Tursa
2018-9-26
编辑:James Tursa
2018-9-26
New_LongDataUn(New_LongDataUn(:,11) < 1e-12,:) = [];
3 个评论
James Tursa
2018-9-26
If you mean into a mat file, then simply
save your_matfile_name New_LongDataUn
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!