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

 Respuesta aceptada

Más respuestas (0)

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 10 de Mzo. de 2022

Comentada:

el 11 de Mzo. de 2022

Community Treasure Hunt

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

Start Hunting!

Translated by