; ___________________________________________________________________ ; MODEL9.PRO ; ========== ; Distance between frequencies "when model stops making sense" ..... ; ___________________________________________________________________ P=1.0D0 & READ,'Give the period = ',P ; Give any period P! F=1.D0/P & DT=30*P ; f and Delta T T=DT*RANDOMN(S,100) & Y=SIN(2.D0*!PI*F*T) ; Random t & sinusoid F0=1.D0/(MAX(T)-MIN(T)) ; f_0 C=21.D0 ; Frequency interval [f-f_0,f+f_0] divided into C parts. C1=1.D0*FIX(C/2.) ; +/- both sides f_0 F_STEP=F0/(C1) ; Steps in f_0 units ; __________________________________________________________________ L=0.15 & K=0.22 & W1=.01+FINDGEN(6)*L W1=[W1,W1,W1,W1,W1] & W2=W1+.8*L W4=.97-FIX(FINDGEN(25)/6.D0)*K & W3=W4-.7*K ; __________________________________________________________________ !P.NOERASE=1 & !X.TICKS=2 & !Y.TICKS=2 & !P.CHARSIZE=0.8 ERASE & PI1=1. & IF (PI1 EQ 0.) THEN GOTO,NOPS1 & SET_PLOT,'PS' DEVICE,/LANDSCAPE & DEVICE,FILENAME='MODEL9.PS' & NOPS1: ; __________________________________________________________________ FOR D=0,C-1 DO BEGIN SET_VIEWPORT,W1(D),W2(D),W3(D),W4(D) QQ=1.D0*(D-C1) & F_NOW=F+(D-C1)*F_STEP ; -It is always good to check what is done! __________________; Check NY1=STRING(QQ/C1,'(F4.1)') & TX='!6f+( )(f!D0!N)!3' ; Check STRPUT,TX,NY1,5 & !P.TITLE=STRCOMPRESS(TX,/REMOVE_ALL) ; Check PRINT,'Round=',QQ,',Shift in f_0',(F_NOW-F)/F0,'Title=',TX ; Check ; ____________________________________________________________; Check PHI=((T-MIN(T))*F_NOW) & PHI=PHI-FIX(PHI) PLOT,PHI,Y,PSYM=4,SYMSIZE=0.5 ENDFOR ; ___________________________________________________________________ IF (PI1 EQ 0.) THEN GOTO,NOPS2 & DEVICE,/CLOSE & SET_PLOT,'X' & NOPS2: ; ___________________________________________________________________ END ; ___________________________________________________________________;