home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Basic / MAXONB32.DMS / in.adf / Beispiele_1.3 / Examples / LogisticFormula.bas < prev    next >
Encoding:
BASIC Source File  |  1994-04-14  |  1.6 KB  |  77 lines

  1. '
  2. ' Logistic Formula
  3. '
  4. ' written by   scott dhomas trenn
  5. '              797 Mitchell Street, Fredericton, NB, E3B 3S8, CANADA
  6. '              INTERNET: wilkie@jupiter.sun.csd.unb.ca
  7. '
  8. ' Press any key when drawing is complete, to exit.
  9. '
  10.  
  11. REM $OPTION Y+
  12.  
  13. DEFINT a-z
  14.  
  15. SCREEN 1,640,400,LOG2(4),4
  16. WINDOW 1,,(0,0)-(640,400),16+32+128+256,1
  17.  
  18. LogOf2# = LOG(2)
  19.  
  20. IterationsStable = 100
  21. IterationsChaotic = 1000
  22. xOrigin = 1
  23. xSize = 639
  24. yOrigin = 399
  25. ySize = 380
  26. rMin# = 2.85#
  27. rMax# = 4#
  28.  
  29. PRINT "Logistic Formula";
  30. COLOR 3
  31. PRINT "         Fecundity (r)=                Iterations=";
  32. LOCATE 1,44 : COLOR 1
  33. PRINT USING "#.## - #.##"; rMin#,rMax#;
  34. LOCATE 1,70
  35. PRINT USING "#### / ####"; IterationsStable,IterationsChaotic;
  36.  
  37. xScale = xSize
  38. rStep# = (rMax# - rMin#) / (ySize+1)
  39. rChaotic# = 3.56994571869#
  40.  
  41. LINE (xOrigin, yOrigin)-(xOrigin-1, yOrigin-ySize-1),2,b
  42. LINE (xOrigin, yOrigin)-(xOrigin + xSize, yOrigin),2
  43.  
  44. yChaotic = yOrigin - (rChaotic# - rMin#) / rStep#
  45. LINE (xOrigin+1, yChaotic)-(xOrigin + xSize, yChaotic),3
  46.  
  47. r# = rMin#
  48. FOR yCor = yOrigin TO yOrigin-ySize-1 STEP -1
  49.         x# = .5
  50.         total# = 0
  51.  
  52.         ' Eliminate transients
  53. '       FOR n = 1 TO 50 : x# = (r# * x#) * (1-x#) : NEXT n
  54.  
  55.         ' Plot logistic system
  56.         IF r# < rChaotic# THEN
  57.                 Iterations = IterationsStable
  58.         ELSE
  59.                 Iterations = IterationsChaotic
  60.         END IF
  61.  
  62.         FOR n = 1 TO Iterations
  63.                 x# = (r# * x#) * (1-x#)
  64.                 XCor = xOrigin + (x# * xScale)
  65.                 PSET (xCor,yCor)
  66.         NEXT n
  67.  
  68.         r# = r# + rStep#
  69. NEXT yCor
  70.  
  71.  
  72. WHILE INKEY$ = "" : SLEEP : WEND
  73. WINDOW CLOSE 1
  74. SCREEN CLOSE 1
  75.  
  76. END
  77.