Jessica
Posts:
147
Registered:
3/7/08
|
|
Re: matlab version and "for" loops
Posted:
Jan 22, 2013 4:55 AM
|
|
"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <kdkkd3$hvs$1@newscl01ah.mathworks.com>... > "Jessica" wrote in message <kdki7n$b6g$1@newscl01ah.mathworks.com>... > > "Jan Simon" wrote in message <kdj1jg$i5i$1@newscl01ah.mathworks.com>... > > > Dear Jessica, > > > > > > Yes, "newer" versions of Matlab interpret loops much faster using the JIT acceleration. Please note that this means "newer" than version 6.1 from June 2001. > > > > > > To check the difference type: > > > > > > feature('accel', 'off') > > > feature('jit', 'off') > > > > > > and run your program again. > > > > > > If you want to accelerate your code, post it here to get our ideas. > > > > > > Kind regards, Jan > > > > Thanks for this information. My problem is in running this code: > > > > %Delete saccades except when they mark the start/stop of image > > DataLength=size(Sdata);DataLength=DataLength(1); > > for i=0:DataLength-1 > > if strcmp(GazeType(DataLength-i,1),'Saccade')==1|strcmp(GazeType(DataLength- i,1),'Unclassified')==1; > > if strcmp(PictureStartColumn2(DataLength-i),'ImageStart')==0 > > if strcmp(PictureStartColumn2(DataLength-i),'ImageEnd')==0; > > Stextdata2(DataLength-i,:)=[]; > > Sdata(DataLength-i,:)=[]; > > end; > > end; > > end; > > end; > > end; > > > > First, it's not for-loop that is slow. Thing that is slow is calling strcmp many times. > strcmp can work on cell of strings. You should use strcmp and logical indexing to remove unwanted data. No need for-loop at all. > > Bruno
Thanks for looking my code over. Do you mind giving me a little more guidance on how I would make a logical index for this particular problem?
|
|