home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / libs / matlab.lzh / MATLAB / MATLAB.LZH / Source / MatLab / SAVLOD.FOR < prev    next >
Encoding:
Text File  |  1991-04-13  |  1.2 KB  |  53 lines

  1.       SUBROUTINE SAVLOD (LUNIT, ID, M, N, IMG, JOB, XREAL, XIMAG)
  2.       IMPLICIT NONE
  3. C
  4. C IMPLEMENT SAVE AND LOAD
  5. C   LUNIT = LOGICAL UNIT NUMBER
  6. C   ID    = NAME, FORMAT 4A1
  7. C   M, N  = DIMENSIONS
  8. C   IMG   = NONZERO IF XIMAG IS NONZERO
  9. C   JOB   = 0     FOR SAVE
  10. C         = SPACE AVAILABLE FOR LOAD
  11. C   XREAL, XIMAG = REAL AND OPTIONAL IMAGINARY PARTS
  12. C
  13.       INTEGER LUNIT, ID(4), M, N, IMG, JOB
  14.       DOUBLE PRECISION XREAL(*), XIMAG(*)
  15. C
  16.       INTEGER I, J, K, L
  17. C
  18. C
  19.       IF (JOB.GT.0) GO TO 20
  20. C
  21. C ***      SAVE
  22. 10    CONTINUE
  23.       WRITE (LUNIT, 101) ID, M, N, IMG
  24. 101   FORMAT (4A1, 3I4)
  25.       DO 15 J = 1, N
  26.         K = (J-1)*M+1
  27.         L = J*M
  28.         WRITE (LUNIT, 102) (XREAL(I), I = K, L)
  29.         IF (IMG.NE.0) WRITE (LUNIT, 102) (XIMAG(I), I = K, L)
  30. 102     FORMAT (4Z18)
  31. 15    CONTINUE
  32.       RETURN
  33. C
  34. C ***      LOAD
  35. 20    CONTINUE
  36.       READ (LUNIT, 101, END = 30) ID, M, N, IMG
  37.       IF (M*N.GT.JOB) GO TO 30
  38.       DO 25 J = 1, N
  39.         K = (J-1)*M+1
  40.         L = J*M
  41.         READ (LUNIT, 102, END = 30) (XREAL(I), I = K, L)
  42.         IF (IMG.NE.0) READ (LUNIT, 102, END = 30) (XIMAG(I), I = K, L)
  43. 25    CONTINUE
  44.       RETURN
  45. C
  46. C     END OF FILE
  47. 30    CONTINUE
  48.       M = 0
  49.       N = 0
  50. C
  51.       RETURN
  52.       END
  53.