1
! @(#)esolstatpl.prg 19.1 (ES0-DMD) 02/25/03 13:24:23
2
!++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3
!.IDENTIFICATION: ESOLSTATPL.PRG
4
!.USE: @s esolstatpl p1 p2 p3
6
! P2 = column number of the wanted column
7
! for mean and standard deviation;
8
! also the name of the output table T'P2'
9
! P3 = logical expression select
10
! P4 = 1: display statistics
11
!.AUTHOR: Edwin Valentijn 881011
12
! Andris Lauberts 890721 converted with SX and TX
13
! suppressed SEND/PLOT
14
!.EXAMPLE: STATPL PCAT 14 #182.GT.0.5
15
! NOTE Intended for statistics on ESOLV catalogue
16
! using Type = col #7 as reference
17
!------------------------------------------------------------------
19
WRITE/KEYW INPUTI/I/1/1 'P2'
20
WRITE/KEYW IN_A/C/1/1 T
21
WRITE/KEYW IN_A/C/2/8 'P2'
22
SELECT/TABLE 'P1' 'P3'
27
$RENAME FOR007.DAT 'IN_A'.DAT
28
ASSI/PRINT FILE PRINT.DAT
29
PRINT/TABLE 'IN_A' #1 #2 #3 #4
30
$copy/concat 'IN_A'.DAT,PRINT.DAT PRINT1.DAT
33
!IF 'P4' .NE. 1 THEN EXIT
35
STATISTICS/TABLE 'IN_A' #5
36
COMP/KEYW OUTPUTR(20) = OUTPUTR(3)*1. ! miniumum
37
STATISTICS/TABLE 'IN_A' #6
38
COMP/KEYW OUTPUTR(10) = OUTPUTR(4)-OUTPUTR(20)
39
COMP/KEYW OUTPUTR(19) = M$ABS(OUTPUTR(10)) ! long way to step
40
COMP/KEYW OUTPUTR(18) = M$LOG(OUTPUTR(19))
41
COMP/KEYW OUTPUTR(17) = M$NINT(OUTPUTR(18))
42
COMP/KEYW OUTPUTR(16) = 2.30258509*OUTPUTR(17)
43
COMP/KEYW OUTPUTR(15) = M$EXP(OUTPUTR(16))
44
COMP/KEYW OUTPUTR(14) = OUTPUTR(15)/5. ! step
45
COMP/KEYW OUTPUTR(13) = OUTPUTR(20)/OUTPUTR(14)
46
COMP/KEYW OUTPUTR(12) = M$NINT(OUTPUTR(13))
47
COMP/KEYW OUTPUTR(11) = OUTPUTR(12)*OUTPUTR(14) ! minimum in step units
48
SET/GRAPH YAXIS='OUTPUTR(11)','OUTPUTR(4)','OUTPUTR(14)'
49
SET/GRAPH XAXIS=AUTO SSIZE=3 STYPE=5
50
PLOT/TABLE 'IN_A' #1 #3
51
SET/GRAPH LTYPE=1 STYPE=0
52
OVERPLOT/TABLE 'IN_A' #1 #3
54
OVERPLOT/TABLE 'IN_A' #1 #5
55
OVERPLOT/TABLE 'IN_A' #1 #6