========================================================================= Hello, I first of all want to apologize for my previous mail. It was quite messy wasn't it? But now the problem is solved, since I murdered my old editor and just write away with this new one. Furthermore, I realized that I had left out several little bugs in the programs I sent you. So here are the corrections. SCAN: << -> p l << 1 l SIZE IF DUP THEN FOR i l i GET p EVAL NEXT ELSE DROP2 END >> >> CPATH: << << EVAL CVARS >> SPATH >> But more. I started devellopping an efficient bode diagram plotter. Here are the programs. B.: << FAST RCEQ 0 -> w << 'ALOG(w)' PPAR 3 GET STO 'w' >> SHOW >> B.. << -> f << 'RE(PPAR(1))' EVAL 'RE(PPAR(2))' EVAL DUP2 - NEG 137 / -> s << FOR w w f EVAL s STEP >> >> { 137 2 } ->ARRY STO(SIGMA) 1 2 COL(SIGMA) SCL(SIGMA) CLLCD DRW(SIGMA) { (SIGMA)DAT (SIGMA)PAR } PURGE PPAR 3 GET PURGE DGTIZE >> GAIN: << B. ABS LOG 20 * B.. >> PHASE: << B. ARG B.. >> BODE: << { STEQ RCEQ PMIN PMAX INDEP GAIN PPAR CENTR *W PHASE } MENU >> INSTRUCTION FOR USE: This group of programs should be kept in the same directory, and this directory should be above the directories where BODE is needed. The best would be to place it in HOME. B. and B.. are used by GAIN and PHASE, and are useless in themselves for the user. B. creates the function that will be used by B.., and B.. calculates and plots the graph, and eventually cleans the current directory a bit. GAIN draws the amplitude diagram, using the maximum surface. PHASE draws the amplitude diagram, using the maximum surface. BODE creates a menu, so that GAIN and PHASE become accessible as PLOT. To make sure GAIN or PHASE work correctly for the first time: 1_Call BODE 2_Put the equation in EQ using STEQ 3_Define the parametre using INDEP 4_Define minimal value of the parametre using PMIN (only real part is useful) 5_------ maximal ---------------------------- PMAX -------------------------- WARNING IM(PMIN)