!THIS PROGRAM MODELS A ROMEO AND JULIET "LOVE/HATE" ROMANCE.
!CHANGING THE PARAMETERS a,b,c,d in the DATA STATEMENT LETS
!YOU EXPLORE THE DYNAMICS OF DIFFERENT RELATIONSHIPS.
!YOU CAN ALSO CHANGE THE INITIAL VALUE OF R and J,
!WHICH IS THE SITUATION "AT FIRST SIGHT".
!
OPEN #1: SCREEN 0,1,0.5,1
SET WINDOW 0,1000,-10,10
!
OPEN #2: SCREEN 0,1,0.5,1
SET WINDOW 0,1000,-10,10
SET COLOR "RED"
PRINT "ROMEO'S LOVE"
SET COLOR "BLUE"
PRINT "JULIET'S LOVE"
SET COLOR "BLACK"
PLOT 0,-9.9;1000,-9.9
PLOT 0,0;1000,0
OPEN #3: SCREEN 0.25,.75,0,.5
SET WINDOW -10*1.33,10*1.33,-10,10
PLOT -10,-10;10,-10;10,10;-10,10;-10,-10
PLOT -10,0;10,0
PLOT 0,-10;0,10
PRINT "J vs.R"
!
!TRY DIFFERENT VALUES FOR a,b,c,d
READ a,b,c,d
DATA .1,-.1,.2,-.1
!DATA 0,0,.1,.1
!DATA .1,-.2,-.2,.1
!DATA add your own!
!
PRINT "a=";a
PRINT "b=";b
PRINT "c=";c
PRINT "d=";d
PLOT TEXT, AT 4,4: "LOVE-LOVE"
PLOT TEXT, AT -6,-6: "HATE-HATE"
LET R=4
LET J=4
!
Let t=0
LET dt=1
DO While t<1000
LET Rdot=a*R + b*J
LET Jdot=c*R + d*J
!
LET Rnew= R + Rdot*dt
LET Jnew= J + Jdot*dt
!
LET Rhalf=0.5*(Rnew+R)
LET Jhalf=0.5*(Jnew+J)
!
LET Rdot=a*Rhalf + b*Jhalf
LET Jdot=c*Rhalf + d*Jhalf
!
LET R= R + Rdot*dt
LET J= J + Jdot*dt
!
LET t= t+dt
!
WINDOW #1
SET COLOR "RED"
PLOT t,R;
!
WINDOW #2
SET COLOR "BLUE"
PLOT t,J;
!
WINDOW #3
SET COLOR "GREEN"
PLOT R,J;
!
LOOP
!
END
!
!