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

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!