difficulty filter file with big data

I need of help me with this script. I want to filter all the columns but this is very slow.
there I have filtered only two columns.
My file loaded is only example.
clear all
clc
tic
a = 1;
r = zeros(3268760,1);
load ('filter_big_data'); % this file ís a matrix 576x3268760 double
for i = 1:2
z1 = b(b(:,1) == 0, :);
s1 = sum(z1, 1);
s2 = max(s1);
r(a,1) = max(s1);
a = a + 1;
end
toc
Elapsed time is 209.340817 seconds. % this time was elapsed for to filter two columns of
Thank by attention!!!

3 个评论

load filter_big_data
whos
Name Size Bytes Class Attributes ans 1x43 86 char b 10x3268760 261500800 double
You do not have any array named a.
You override the b=1 when you load the file, getting b to be a 10 x 3268760 array.
Hy Walter
you have reason!
I have changed my script.
Can you help me, I am inexperient with Matlab. I am learning.
Thanks!
z1 = b(b(:,1) == 0, :);
That code does not depend on a or i so it is going to produce the same result for every iteration of the loop. Because of that, every iteration of the loop is going to perform the same operation.
I would suggest that the code should be closer to
tic
r = zeros(3268760,1);
load ('filter_big_data'); % this file ís a matrix 576x3268760 double
for i = 1:2
z1 = b(b(:,i) == 0, :);
s1 = sum(z1, 1);
s2 = max(s1);
r(i,1) = max(s1);
end
toc

请先登录,再进行评论。

回答(0 个)

类别

帮助中心File Exchange 中查找有关 Matrices and Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by