ibase size 1 - STO 99 ; 0e+00 STO 99 0e+00 0e+00 npts 1 - STO 98 ; alpha "Step" STOa 0 1 STO 00 alpha "Final Autocorrelation frame" STOa 1 10 STO 01 alpha "Autocorrelation Macro" inpt 2 ; alpha "Autocorrelation" Ncol 001 alpha "MSD" Ncol 002 alpha "Time (frame)" Ncol 000 ; 0e+00 RCL 98 0e+00 0e+00 var STO 70 ;Auto(0) ; 0e+00 RCL 98 0e+00 0e+00 mean STO 71 ;mean(0) ; RCL 71 x^2 STO 71 ;mean^2 ; 0.001 STO 40 RCL 70 STOi 40 ;set Auto(0) ; 0.002 STO 40 0e+00 STOi 40 ;set MSD(0) ; RCL 01 STO 04 ;stepsize ; 0e+00 STO 01 ;j = 0 ; ; LBL 50 ; first loop**********repeat (j) increase from 0 to n RCL 01 ;j RCL 00 ;stepsize + STO 01 ; stepsize*i‚Ì‚±‚Æ. j=j+stepsize ; RCL 98 ;n-1 STO 02 ;n-1=i ; 0e+00 STO 41 ;sum ; LBL 00 ;********repeat (i) decrease from n-1 to j ******* ; RCL 02 ;i 0e+00 getcell STO 09 ; x(i) ; RCL 02 RCL 01 - STO 03 ;k=i-j ; RCL 03 0e+00 getcell ;get x(i-j) RCL 09 ; x(i) * STO 09 ;x(i)*x(i-j) RCL 41 + STO 41 ;sum = x(i)*x(i-j)+sum ; RCL 02 1 - STO 02 ; i=i-1 ; RCL 01 ; j RCL 02 ; i x >= y ; if (i >= j) then goto 00 GTO 00 ;********************* next i ; RCL 98 ;n RCL 01 ;j - 1 + STO 97 ;how many x(i)*x(i-j) ? ; RCL 41 RCL 97 / ;sum/(n-j+1) RCL 71 ; ^2 - STO 51 ; -^2 ; RCL 01 ;j RCL 00 ;stepsize / STO 08 ;j/stepsize=number ; RCL 08 0.001 + STO 40 RCL 51 STOi 40 ;set autocorrelation ; RCL 70 ;Auto(0) RCL 51 ;Auto(j) - STO 52 RCL 52 2 * STO 52 ;MSD(j) ; RCL 08 0.002 + STO 40 RCL 52 ;set MSD(j) STOi 40 ; RCL 01 ; j RCL 04 ; n x > y ; if (n > j) then goto 50 GTO 50 ;************** next j ; 0e+00 STO 01 LBL 06 ; ******* ; 0.003 RCL 01 + STO 03 ; CLRi 01 CLRi 03 ; RCL 01 1 + STO 01 ; RCL 01 RCL 98 x >= y GTO 06 ;********* ; size 1 - STO 99 ; 0e+00 RCL 99 1 1 npts STO 08 ; 0e+00 STO 01 LBL 07 ; ******* ; RCL 01 RCL 00 * STO 02 ; RCL 01 0e+00 RCL 02 setcell ; RCL 01 1 + STO 01 ; RCL 01 RCL 08 x > y GTO 07 ;********* STOP