File: uspk05.f

package info (click to toggle)
dcl 7.5.2-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 20,872 kB
  • sloc: fortran: 48,433; f90: 12,803; ansic: 6,513; makefile: 4,612; ruby: 184; sh: 153
file content (58 lines) | stat: -rw-r--r-- 1,215 bytes parent folder | download | duplicates (10)
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
*-----------------------------------------------------------------------
      PROGRAM USPK05

      PARAMETER(N=200, M=5)
      REAL X(N), Y0(N), Y1(N), Y2(N), 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)
        Y2(I) = 0.
        DO 150 J=1, M
          JJ = J*2-1
          YY = A(J)*COS(JJ*T)
          Y2(I)  = Y2(I) + YY
  150   CONTINUE
        Y1(I) = A(1)*COS(T)

        IF(T.LT.PI/2. .OR. T.GE.PI*3./2.) THEN
          Y0(I) = -0.5
        ELSE
          Y0(I) = 0.5
        ENDIF
  100 CONTINUE

*-----------------------------------------------------------------------

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

      CALL GROPN(IWS)
      CALL GRFRM

      CALL USSPNT(N, X, Y0)
      CALL USSPNT(N, X, Y1)
      CALL USSPNT(N, X, Y2)

      CALL USPFIT
      CALL GRSTRF

      CALL USDAXS

      CALL UULINZ(N, X, Y0, 1, 5)
      CALL UULINZ(N, X, Y1, 3, 1)
      CALL UULINZ(N, X, Y2, 2, 2)

      CALL GRCLS

      END