File: uspk09.f

package info (click to toggle)
dcl 7.5.2-2
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 21,008 kB
  • sloc: fortran: 48,433; f90: 12,803; ansic: 6,513; makefile: 4,738; ruby: 184; sh: 153
file content (84 lines) | stat: -rw-r--r-- 1,913 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
*-----------------------------------------------------------------------
      PROGRAM USPK09

      PARAMETER(N=200, M=5)
      REAL X(N), Y(N), YC(N,M), A(M)

      DT = 1./(N-1)
      PI = 3.14159
      DO 50 J=1, M
        JJ = J*2-1
        A(J) = (-1)**J *2./(JJ*PI)
  50  CONTINUE

      DO 100 I=1, N
        T    = DT*(I-1)*2*PI
        X(I) = DT*(I-1)
        Y(I) = 0.
        DO 150 J=1, M
          JJ = J*2-1
          YC(I,J) = A(J)*COS(JJ*T)
          Y(I)  = Y(I) + YC(I,J)
  150   CONTINUE
  100 CONTINUE

*--------------------------- 1ST PAGE ----------------------------------

      CALL SWCSTX('FNAME','USPK09')
      CALL SWLSTX('LSEP',.TRUE.)

      WRITE(*,*) ' WORKSTATION ID (I)  ? ;'
      CALL SGPWSN
      READ (*,*) IWS

      CALL GLRGET('RUNDEF',RUNDEF)

      CALL GROPN(IWS)
      CALL GRFRM
      CALL GRSVPT(0.2, 0.8, 0.2, 0.6)
      CALL USSPNT(N*M, RUNDEF, YC)

      CALL USSTTL('X-AXIS', ' ', 'COMPONENTS', ' ')
      CALL USGRPH(N, X, YC)

      DO 200 J=2,M
        IP = MOD(J-1,4) + 1
        CALL UULINZ(N, X, YC(1,J), 1, IP)
  200 CONTINUE

*     --- NEW FIG ---
      CALL GRFIG
      CALL GRSVPT(0.2, 0.8, 0.62, 0.82)
      CALL UZLSET('LABELXB', .FALSE.)

      CALL USSTTL('X-AXIS', ' ', 'TOTAL', ' ')
      CALL USGRPH(N, X, Y)

*--------------------------- 2ND PAGE ----------------------------------

      CALL GRFRM
      CALL GRSVPT(0.2, 0.8, 0.2, 0.6)

      CALL UZFACT(0.5)
      CALL UZLSET('LABELXB', .TRUE.)

      CALL USSPNT(N*M, RUNDEF, YC)
      CALL USSTTL('X-AXIS', ' ', 'COMPONENTS', ' ')
      CALL USGRPH(N, X, YC)

      DO 300 J=2,M
        IP = MOD(J-1,4) + 1
        CALL UULINZ(N, X, YC(1,J), 1, IP)
  300 CONTINUE

*     --- NEW FIG ---
      CALL GRFIG
      CALL GRSVPT(0.2, 0.8, 0.62, 0.82)
      CALL UZLSET('LABELXB', .FALSE.)

      CALL USSTTL('X-AXIS', ' ', 'TOTAL', ' ')
      CALL USGRPH(N, X, Y)

      CALL GRCLS

      END