Loop breaks IDL [message #62102] |
Fri, 22 August 2008 20:23 |
mbweller
Messages: 24 Registered: July 2008
|
Junior Member |
|
|
I beginning to feel like I'm inundating this board :)
Is this the best way to do this, I 'm beginning to think not since IDL
(in windows) starts to use up all my cpu cycles for more than 10
minutes.
------------------------------------------------------------ -----------------------------
ind_e= where (array[1,*] eq 2,count)
if count eq 0 then tl_small=0 else ext=array[*,ind_e]
while count gt 0 do begin
ext_ = where(ext[2,*] lt 2*x1) ; select faults such that L < 2x
ext_small = ext[*,ext_] ; place in matrice with identifer
lc_small= ext_small[2,*] ; select only lengths to sum for
small faults
tl_small = total(lc_small^3) ; sum lengths according to
kostrov summation, small faults
endwhile
------------------------------------------------------------ ------------------------------------------------------------ -------------------
Essentially there are 2 divisions, column 2 (with values of 1 or 2)
and fault size (large or small) of the data.
In case it's not obvious, the first two lines are saying that if there
is no data then tl_small = 0. If however, there is data do everything
below it to get some non 0 value of tl_small.
It seems like IDL just hangs up on the loop. Maybe this has something
to do with the embedded where statements?
As always thanks in advance and any help would be appreciated
~Matt.
|
|
|