home *** CD-ROM | disk | FTP | other *** search
/ Antennas / Antennas_CD-ROM_Walnut_Creek_September_1996.iso / mathaids / misc / euler.asc < prev    next >
Text File  |  1996-06-30  |  3KB  |  70 lines

  1. 10 REM*********************************
  2. 11 REM*                             ***
  3. 12 REM* LINEAR MODEL SIMULATION PGM ***
  4. 13 REM*                             ***
  5. 14 REM*     EULER  INTEGRATION      ***
  6. 15 REM*                             ***
  7. 16 REM* DISK NAME IS 'EULER'        ***
  8. 17 REM* BY K.VANSLETTE       REV.A  ***
  9. 18 REM*                             ***
  10. 19 REM*********************************
  11. 20 REM
  12. 25 PRINT
  13. 30 PRINT "   - RUNGA-KUTTA INTEGRATION PROGRAM -"
  14. 35 PRINT "THE PARAMETERS ARE -"
  15. 40 PRINT " 1) NUMBER OF MODEL COMPARTMENTS"
  16. 45 PRINT " 2) NUMBER OF ENVIROMENTAL INPUTS"
  17. 50 PRINT " 3) MATRIX OF COMPARTMENTAL RATE COEF"
  18. 55 PRINT " 4) VECTOR OF INITIAL COMPARTMENT SIZES"
  19. 60 PRINT " 5) MATRIX OF ENVIROMENTAL INPUT COEF"
  20. 65 PRINT " 6) VECTOR OF ENVIROMENTAL INPUT SIZES"
  21. 70 PRINT " 7) NUMBER OF ITERATIVE STEPS"
  22. 75 INPUT "ENTER NUMBER OF COMPARTMENTS  (1-7)"; N
  23. 80 N = N - 1
  24. 85 INPUT "ENTER NUMBER OF MODEL INPUTS  (1-3)"; NN
  25. 90 NN = NN - 1: GOTO 100
  26. 95 PRINT "                             ": RETURN
  27. 100 DIM A(N, N), B(N, NN), XX(100, N), X(N)
  28. 105 DIM AX(N), XD(N), XP(N), XQ(N), XR(N)
  29. 110 DIM Z(NN), BB(N), S(N), P(N)
  30. 115 PRINT "ENTER MATRIX OF COMPARTMENT RATE COEF-"
  31. 120 FOR I = 0 TO N
  32. 125 FOR J = 0 TO N: PRINT "ROW"; J; "  COL"; I: INPUT " COEF"; A(I, J)
  33. 130 NEXT J: NEXT I: GOSUB 95
  34. 135 PRINT "ENTER INITIAL COMPARTMENT VALUES -   "
  35. 140 FOR I = 0 TO N: PRINT "PART"; I: INPUT " VALUE"; XX(0, I): NEXT I: GOSUB 95
  36. 145 PRINT "ENTER MATRIX OF INPUT COEFFICIENTS -  "
  37. 150 FOR I = 0 TO N
  38. 155 FOR J = 0 TO NN: PRINT "ROW"; J; "  COL"; I: INPUT "                COEF"; B(I, J)
  39. 160 NEXT J: NEXT I: GOSUB 95
  40. 165 PRINT "ENTER THE SIZES OF THE INPUTS -      "
  41. 170 FOR I = 0 TO NN: PRINT "PART"; I: INPUT "         VALUE"; Z(I): NEXT I: GOSUB 95
  42. 175 INPUT "ENTER NUMBER OF ITERATIONS    (1-3)"; KK
  43. 180 FOR I = 0 TO N: REM SAVE INIT VALUES
  44. 185 X(I) = XX(0, I): NEXT I
  45. 190 REM
  46. 195 REM
  47. 200 REM *** START SIMULATION ***
  48. 205 FOR IJ = 1 TO 100
  49. 208 PRINT "--UNIT TIME"; IJ
  50. 210 DT = 1 / KK
  51. 212 PRINT "DT  ="; DT
  52. 215 FOR JJ = 1 TO KK
  53. 218 PRINT "ITERATION"; JJ
  54. 220 FOR I = 0 TO N
  55. 222 PRINT "I  ="; I
  56. 225 AX(I) = 0
  57. 230 FOR J = 0 TO N: AX(I) = AX(I) + A(I, J) * X(J): NEXT J
  58. 235 FOR K = 0 TO NN: AX(I) = AX(I) + B(I, K) * Z(K): NEXT K
  59. 240 NEXT I
  60. 245 FOR I = 0 TO N: X(I) = X(I) + DT * AX(I): NEXT I
  61. 250 NEXT JJ
  62. 255 FOR I = 0 TO N: XX(IJ, I) = X(I): NEXT I
  63. 260 NEXT IJ
  64. 265 REM END OF SIMULATION
  65. 270 REM
  66. 275 REM
  67. 300 REM START OUTPUT
  68. 305 END
  69.  
  70.