! ITERATION OF SQUARE ROOT EQUATION
! Xn+1=sqr(Xn)
SET MODE "graphics"
!Creates a full screen output window
SET WINDOW -.2*1.33,2.2*1.33,-.2,2.2
!Defines a sligthly larger than 2 by 2 square window.
BOX LINES 0,2,0,2
!Draws a 2 by 2 box
PLOT 0,0;2,2
!Draws the 45 degrees diagonal (y=x)
PLOT 1,0;1,1
PLOT 0,1;1,1
!Draws the lines defining the coordinates of point (1,1)
PLOT TEXT, AT .9,1.05: "(1,1)"
!Writes the name (1,1) near that point.
SET COLOR "red"
PLOT TEXT, AT 1.7,1.2: "y=sqr(x)"
!Labels in red the plot of the function square root.
SET COLOR "black"
PLOT TEXT, AT 1.6,1.7: "y=x"
!Labels in black the plot of the function y=x.
FOR x= 0 to 2 step 0.01
LET xn= SQR(x)
SET COLOR "red"
PLOT x, xn;
NEXT x
!This FOR-NEXT loop plots in red the function y=sqr(x) for x between 0 and 2.
LET j=0
!Here starts a DO-LOOP that does the graphical iteration: clicking in the output
!window selects the starting point; different cases (strating points) are plotted
!with different colors for clarity.
DO
IF j=0 THEN SET COLOR "black"
LET j = j+1
IF j=1 THEN SET COLOR "brown"
IF j=2 THEN SET COLOR "red"
IF j=3 THEN SET COLOR "blue"
IF j=4 THEN SET COLOR "green"
IF j>4 THEN SET COLOR "black"
!Notice that after 4 cases black is used; ! graph would look too crowded anyway if j>>4.
PLOT
!This PLOT "empty" command allows to interrupt the"connect the points"
!created by the "; " feature, so that the next case starts "fresh".
GET POINT x0,y0
!This GET POINT command allows mouse selection of the starting point x0.
!Notice that y0 is not used.
PRINT "x0 is: ";x0
PLOT TEXT, AT x0,-.1 :"x0"
PLOT x0,0;
!The selected point is recorded at the top and identified in the x axis.
!Notice that the x0 values are also color coded.
!This FOR-NEXT LOOP does the graphical iteration:
LET x=x0
FOR i=1 to 10
!Do ten steps of the graphical iterations
LET x1= SQR(x0)
!Calculates the ordinate of x0.
PLOT x0,x1;x1,x1;
!Plots the line connecting the point in the curve y=sqr(x0) with the point in y=x
PAUSE 0.5
!Allow a short pause to see the build-up of the iteration.
LET x0=x1
!Use the next value as a seed and repeat.
!This creates the "stepwise" look of the iteration.
NEXT i
!Once the 10 steps are done, get ready to accept a new input value for x0.
LOOP
!This LOOP instruction closes the DO loop.
!This program will run "forever" unless STOP is used to terminate.
END