How to efficiently delete rows from very large matrix

I have to delete rows from a very large matrix (in order of 2 000 000x30). I am currently using the following code the code does this very slowly. Currently going through one matrix takes a couple of hours.
[n,m] = size(data);
%%% nan check
data_nan_checked =zeros(1,m);
ok_row_count = 0;
for i = 1:n
nan_found = 0;
for j = start_column:end_column
if isnan(data(i,j))
nan_found = 1;
end
end
if nan_found == 0 %&& row_ave > 0
ok_row_count = ok_row_count + 1;
data_nan_checked(ok_row_count,:) = data(i,:);
end
end

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrix Indexing 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by