
Sustituir código (for, if) para más rapidez
Publicado por David (42 intervenciones) el 06/01/2013 09:18:09
Tengo un código como el que muestro al final. Necesito sacar datos para hacer 10000 aleatorizaciones, pero si pongo como prueba el número de aleatorizaciones igual a 2 el tiempo que tarda en realizarse es de cerca de 4 minutos, por lo que las 10000 aleatorizaciones tardarían 20000 minutos (333 horas).
¿Cómo podrían sustituirse los bubles for y/o if para que se pudiese realizar en menos tiempo?
Gracias
¿Cómo podrían sustituirse los bubles for y/o if para que se pudiese realizar en menos tiempo?
Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
subject=217;
indice=93744;
aleat=10000;
for a=1:aleat
for v=1:subject
for (i=1:indice)
if (xlsmat(i).Subject==v)
if ((xlsmat(i).BlockList>=2 & xlsmat(i).BlockList<=7))
contador_RT_NoVig_space=contador_RT_NoVig_space+1;
if (rem(s(v).per_RT_Total_general(contador_RT_NoVig_space),2)~=0) %impares
if ((xlsmat(i).BlockList>=2 ...
& xlsmat(i).BlockList<=7) ...
& ((xlsmat(i).VigilanciaTrial==2) & ...
(xlsmat(i).TargetRESP==4)))
%Condicion NoVigilancia (2) SPACE (4)
contador_RT_NoVig_space_impar=contador_RT_NoVig_space_impar+1;
end
end
end
end
end
end
end
Valora esta pregunta


0