Click on an image to go directly to a system or scroll to see all of the systems in this gallery.
OdeFactory Images and Annotations  
An OdeFactory Slide Show Click on a slide to zoom in. Click "video" to see a video. 
View/Sys/Gal: Ode " Five Ways to Plot Functions & Curves" in "PlottingCurves." OdeFactory is generally used to display and study nameless curves generated by motion in a vector field. vector field + OdeFactory > plot of nameless curve It can also be used to plot and study named curves by creating an associated vector field. named curve > associated vector field + OdeFactory > plot of named curve. ***** Case 1: y = f(x). This is the general case. f(x) can be smooth or not smooth and may have parameters. No ICs are used to plot the curve. To plot y = f(x) use the system: dx/dt = f(x), w/"S On". The associated vector field is: V(x) = (f(x)). Ex 1: Plot y = abs(a*sin(b*x+c)) using: dx/dt = abs(a*sin(b*x+c)), a = b = 1, c = 0, w/"S On," no ICs. ***** Case 2a: y = f(x), f smooth, no parameters. To plot y = f(x) let: dx/dt = 1, dy/dt = df/dx, w/ICs on y = f(x). The associated vector field is: V(x,y) = (1,df/dx). The vector field defines a family of curves. The ICs are used to select a particular member of the family. Ex 2: Plot y = sin(x), using dx/dt = 1, dy/dt = cos(x), w/ICs (0,0). ***** Case 2b: x = f(t), integrate f'. To integrate f(t)' on [a,b] plot f using: dx/dt = f', w/ICs (a,x(a)), hMax = b, close Bdr to get x(b) then ∫ f' = x(b)x(a). Here the relationship between RK4 and Simpson's rule is being used. See the "MoreExs" section for details.
Ex 2e: Plot f(t) = sin(t) on I = [1,2] and find the integral of f'(t) = cos(t) on I using: dx/dt = cos(t), w/ICs (1,sin(1)), hMax = 2, ∫ cos(t) on [1,2] = x(2)x(1) ***** Case 3: H(x,y) = c, H smooth. To plot the curve defined by H(x,y) = c, for H differentiable in x and y, use: dx/dt = ∂H/ ∂y, dy/dt =  ∂H/ ∂x, w/ICs on H(x,y) = c. Here the Hamiltonian system associated with the curve is being used. The vector field is: V(x,y) = ( ∂H/ ∂y, ∂H/ ∂x). H is called "an integral" of the motion or an "integral curve." Ex 3: Plot x^2+y^2 = 1 using H = x^2+y^2 dx/dt = 2*y, dy/dt = 2*x, w/ICs (1,0). ***** Case 4: Functions defined by integrals. Most functions are nameless and can only be defined by integrals. x(t) = ∫ f(t,x,y) dt, y(t) = ∫ g(t,x,y) dt. The associated vector field is: V(t,x,y) = (f(t,x,y),g(t,x,y)). To plot x(t) and y(t) use: dx/dt = f(t,x,y), dy/dt = g(t,x,y). Setting an IC at (x(0),y(0)) in the plane selects a particular curve. To view x(t) and y(t) use the 3D/(t,x) and 3D/(t,y) views or start trajectories in the (t,x) and (t,y) directly. Ex 4: To plot the Euler spiral that is defined by: C(t) = ∫ cos(t^2) dt and S(t) = ∫ sin(t^2) dt use dx/dt = cos(t^2), dy/dt = sin(t^2), w/ICs: (x(0),y(0)) = (0,0). The 3D/(t,x) view is C(t) and the 3D/(t,y) view is S(t). ***** Case 5: Using WolframAlpha You can also plot functions/curves in WA by simply entering "plot whatever." Examples are: plot y = abs(sin(x), plot y = sin(x), plot x^2+y^2 = 1, plot C(x) and plot (C(x),S(x)). Using WA is easy but it does not automatically generate parameter controllers so for "Ex 1" you cannot watch what happens to the curve y = abs(a*sin(b*x+c)) as you vary a, b and/or c as you can in OdeFactory. Ex 5: Plot C(t) and S(t) using WA. Open WA from the Help menu then copy/paste the following line into WA: plot (C(x),S(x)) Also try WA on: plot y = abs(a*sin(b*x+c)) for a=1, b=1, c=0 To vary a, b and/or c you need to enter new values in the WA entry field and click the "compute" button.


View/Sys/Gal: Ode "Ex 1: y = a*sin(b*x+c), a=1; b=1; c=0" in "PlottingCurves." Case 1: y = f(x), f smooth or not smooth, with or without parameters. This ode is defined by the equation: dx/dt = a*sin(b*x+c) in the (t,x) coordinate system. Parameters are: a=1; b=1; c=0 The red curve about the x axis is "y = f(x)" rotated π/2 ccw (counter clockwise). No ICs are used. As you change a, b and/or c the curve changes correctly. Image 1: y = a*sin(b*x+c), a=1.5; b=2; c=1. Image 2: y = a*sin(b*x+c), a=1; b=1; c=0.


View/Sys/Gal: Ode "Ex 1b: y = abs(a*sin(b*x+c)), a=1; b=1; c=0 on x ∈ [π,π]" in "PlottingCurves." Case 1: y = f(x), f smooth or not, with or without parameters. This ode is defined by the equation: dx/dt = abs(a*sin(b*x+c)) in the (t,x) coordinate system. Parameters are: a=1; b=1; c=0 The red curve is "y = abs(a*sin(b*x+c))" rotated π/2 ccw. Image 1: y = abs(a*sin(b*x+c)), a=1; b=1; c=0 Vary a, b and/or c.


View/Sys/Gal: Ode "Ex 2: y = sin(x) on x ∈ [π,π]" in "PlottingCurves." Case 2: y = f(x), f smooth, no parameters. Plot y = sin(x) on x ∈ [ π, π]. The system of odes is defined by the equations: dx/dt = 1, dy/dt = df/dx = cos(x), ICs: (0,0) are on y = sin(x). Image 1: y = sin(x) on x ∈ [ π, π]. Using other ICs gives y = sin(x) translated in the y direction. Image 2: y = sin(x)+y(0), ICs: (2.340517,0.420202)


View/Sys/Gal: Ode "Ex 2b: y = a*sin(b*x+c), a=1; b=1; c=0" in "PlottingCurves." Case 2: y = f(x), f smooth but w/parameters. Plot y = a*sin(b*x+c). This system of odes is defined by the equations: dx/dt = 1, dy/dt = a*cos(b*x+c)*b. Parameters are: a=1; b=1; c=0 ICs: (0,0). Parameter "a" adjusts the amplitude, b adjusts the frequency and c translates the curve. If you adjust a and/or b the curve is a sin curve about the x axis but if you adjust c it is no longer a sin curve about the x axis. Image 1: y ≠ a*sin(b*x+c), a=1.5; b=2; c=1 Image 2: y = a*sin(b*x+c), a=1; b=1; c=0


View/Sys/Gal: Ode "Ex 2c: plot sin(t) and integrate cos(t) on [1,2]" in "PlottingCurves." Case 2b: x = f(t), integrate f'. This ode is defined by the equation: dx/dt = cos(t) in the (t,x) coordinate system. ICs: (1,sin(1)) = (1,.84147099) With hMax = 2 and the Bdr closed, x(2) = 0.9092974268259170 so the integral of cos(t) on [1,2] is, using OdeFactory, 0.90929742682591700.8414709848078965 = 0.06782644201 802 The exact answer is sin(2)  sin(1) = 0.06782644201 77852 WA gives integral of cos(t) on [1,2] = 0.06782644201 77852 Image 1: sin(t) on [2,2], ICs: (1,sin(1)), w/Bdr closed.


View/Sys/Gal: EMap "Ex 3: H(x,y) = x^2+y^2 = 1" in "PlottingCurves." Case 3: H(x,y) = c, H smooth. H = x^2+y^2 = 1, circle of r = 1. This system of odes is defined by the equations: dx/dt = 2*y, dy/dt = 2*x. ICs: (x,y) = (0,1). This is the unit circle about the origin. Image 1: The unit circle centered at the origin. As a check of RK4, the computed values of x(100) and y(100) are: p(100.000000) = (0.873297,0.487187) The closed form solution is: x(t) = sin(2*t), y(t) = cos(2*t) which gives: x(100) = sin(200) = 0.8732972 y(100) = cos(200) = 0.4871876 If you center at (0,1) and zoom in 7X you can see that the computed trajectory spiral in. Image 2: Centered at (0,1), zoomed in 7X. To see x(t) and y(t) enter the 3D view then select the 3D/(t,x) and 3D/(t,y) views. Image 3: x(t) in the 3D/(t,x) view. Find x(12.345) using OdeFactory by starting a solution in the (t,x) view at (t,x,y) = (0,0,1). Set hMax = 12.345, close the border, click on the arrowhead and read p(12.345000) = (0.428418,0.903581) Image 4: x(t) defined in the (t,x) view. So OdeFactory gives x(12.345) = 0.428418. The exact value of x(12.345) = sin(2*12.345) = .42841478. Image 5: ICs: (0,2) gives a circle of radius 2. Image 6: EMapCT9 view.


View/Sys/Gal: Ode "Ex 3b: ((a*(2*y)),(a*(2*x))), a = 1; , H=x^2+y^2" in "PlottingCurves." Case 3: H(x,y) = c, H smooth. Only H = x^2+y^2 was entered in the "user fns:" field. OdeFactory created the system. This system of odes is defined by the equations: dx/dt = (a*(2*y)), dy/dt = (a*(2*x)). Parameters are: a = 1; Functions are: H=x^2+y^2 ICs: (0,1). Image 1: H=x^2+y^2=1 Image 2: 3D/(t,x) shows x(t) = sin(t). Image 3: 3D/(t,y) shows y(t) = cos(t). Image 4: 3D/(t,x,y) view. The solution curve on the unit cylinder. (x(t),y(t)) is the parametric representation of the circle x^2+y^2 = 1.


View/Sys/Gal: Ode "Ex 3c: H=(xa)^2+(yb)^2, ((c*(2*y2*b)),(c*(2*x2a))), a=1; b=1; c = 1;" in "PlottingCurves." Case 3: H(x,y) = c, H smooth. Circles centered at (a,b) = (1,1). Only H = (xa)^2+(yb)^2, a=1 and b=1 were entered. OdeFactory created the system. This system of odes is defined by the equations: dx/dt = (c*(2*y2*b)), dy/dt = (c*(2*x2*a)). Parameters are: a=1; b=1; c = 1; Functions are: H=(xa)^2+(yb)^2 ICs: (1,2). Circle centered at (a,b) = (1,2). The ICs determine r. The parameter c is created by OdeFactory when it generates the system. Parameter c determines the rate and direction of the motion. Image 1: c = 1, ccw rotation Image 2: c = 0, no rotation, no circle, dx/dt = dy/dt = 0 Image 3: c = 1, cw rotation


View/Sys/Gal: Ode "Ex 3d: H=ysin(x), ((a),(a*(1*cos(x)))), a = 1;" in "PlottingCurves." Case 3: H(x,y) = c, H smooth. Plot y = sin(x) on x ∈ [ π, π]. This is really a case 2 example done as a case 3 example (i.e. case 2 is a special case of case 3). Create the system by entering H = ysin(x) in the "user fns:" field and let OdeFactory generate the system. The system of odes is defined by the equations: dx/dt = (a), dy/dt = (a*(1*cos(x))). Parameters are: a = 1; The parameter "a" is generated by OdeFactory. If case 3 is implemented by hand you get: dx/dt = 1, dy/dt = cos(x). Functions are: H=ysin(x) ICs: (0,0) is on the curve H = 0, i.e. on y = sin(x). If you use different ICs you get translates of y = sin(x) in the y direction. Image 1: y = sin(x) starting from H=ysin(x).


View/Sys/Gal: Ode "Ex 3e: H=ysin(x); P=yx^2, plotting two curves" in "PlottingCurves." This is a quasiHamiltonian system. It is a Hamiltonian system iff a = b. H and P are the generating curves. Segments of H and P, that contain ICs on H and P, are on trajectories but H and P are not themselves trajectories. Trajectories with ICs not on H or P are not sin curves or parabolas. H and P form the separatrix system. This system of odes is defined by the equations: dx/dt = (a*P+b*H), dy/dt = (a*(1*cos(x))*P+b*(2*x)*H). Parameters are: a = 1; b = 1; Functions are: H=ysin(x); P=yx^2 ICs: (+1,1), (.5,.25) on P, ～(0,0), ～(.876,.768) on H and P, ～(0.450951,0.320000) 3rd fixed point. Image 1: A sin curve and a parabola with "Hide Arrowheads/Seeds" off. Image 2: Black trajectories deleted, red trajectories are separatrices. The separatrices were created first. To create a separatrix:  turn the colored vector field on,  zoom in on a nullcline crossing,  start trajs on edge of black region. Image 3: The R2+ view showing the (red) separatrix system and the global phase portrait of the system.


View/Sys/Gal: Ode "Ex 4: Fresnel C(t) and S(t) functions and the Euler spiral" in "PlottingCurves." Plot the Fresnel C(t) and S(t) functions defined by: C(t) = ∫ cos(t^2), S(t) = ∫ sin(t^2). Use the nonautonomous noncoupled system of odes defined by the equations: dx/dt = cos(t^2), dy/dt = sin(t^2), w/ICs (0,0). Note that in OdeFactory x(t) is C(t) and y(t) is S(t). One way to see C(t) and S(t) is to use 3D/(t,x) and 3D/(t,y). In the (x,y) view we have the Euler spiral, also known as Cornu spiral or clothoid. It is the curve generated by a parametric plot of (x(t),y(t)), i.e. (C(t),S(t)). The the spirals are centered at: +(sqrt( π/8),sqrt( π/8)). If (x(0),y(0)) is not (0,0) you get a translated version of the Euler spiral. Image 1: Euler spiral. Image 2: Euler spiral, 3D/(t,x,y) view of image 1 zoomed out 2X. Image 3: Euler spiral, 3D/(t,x) view of image 1 zoomed out 2X shows C(t). Image 4: Euler spiral, 3D/(t,y) view of image 1 zoomed out 2X shows S(t). Another way to plot C(t) and S(t) is to start trajectories at (0,0,0) in the (t,x) and (t,y) views. Image 5: C(t) in the (t,x) view. Image 6: S(t) in the (t,y) view. See Fresnel functions.


An OdeFactory Slide Show Click on a slide to zoom in. Click "video" to see a video. 
View/Sys/Gal: Ode "Ex 5: plot C(t) and S(t) using WA" in "PlottingCurves." Open WA from the Help menu then copy/paste the following line into WA: plot (C(x),S(x)) Also try WA on: plot y = abs(a*sin(b*x+c)) for a=1, b=1, c=0 Vary a, b and/or c by entering different values in WA.


An OdeFactory Slide Show Click on a slide to zoom in. Click "video" to see a video. 
View/Sys/Gal: Ode "MoreExs: Simpson's Rule & RK4" in "PlottingCurves." ~~~~~~~~~~ Simpson's Rule & RK4 ~~~~~~~~~~~~ A method of plotting a function f(t), which is based on the fundamental theorem of calculus, works for differentiable functions. It plots the function f(t) and enables you to find the definite integral of the function f'(t) on the interval [a,b]. To plot the function f(t) define the nonautonomous 1D system dx/dt = f'(t). Use ICs on the f(t) curve. Here is why the method works. If x(t) is differentiable and I is the integral operator and D is the derivative operator, then the Fundamental Theorem of Calculus says that integration and differentiation are inverse operators to within a constant, that is, I(D(x(t))) D(I(x(t))) = c The constant c has to do with the differential equation's initial conditions. Symbolically, if dx/dt = f(t) (1) with ICs on f(t) then dx = f(t)dt and ∫ dx = ∫ f(t)dt or x(t) = ∫ f(t)dt (2) When you apply OdeFactory to (1) and use ICs on f(t), RK4 computes and plots the curve x(t) in +t. When the integral in (2) can be found as a finite algebraic expression involving elementary functions, x(t) is said to be a "closed" form solution to the ode. As early as 1775 mathematicians realized that finding closed form solutions to most odes is not possible. Hint: if you need a closed form solution to prove a general property of x(t) or to find the most accurate value of x(t), you can use WolframAlpha, or Mathematica, to find it  if a closed form solution exists. Applying Simpson's rule to (2) also produces the solution curve x(t) since, for 1D autonomous odes, RK4 is equivalent to Simpson's rule. It is important to note that all odes define functions but that only a few "elementary" functions have names and are implemented with fast algorithms, as "builtin" functions, in programming languages. You can think of RK4 as a machine that transforms input functions into output functions: input = algebraic fns > RK4 > output = algebraic fns + other fns Some of the "other fns" have names but they are defined, and computed, as integrals using numerical integration methods. See the Fresnel S function for example. See special functions.


View/Sys/Gal: Ode "MoreExs: plot x(t) = abs(sin(t)) using dx/dt = cos(t)*sgn(sin(t)) w/ICs (0,0) " in "PlottingCurves." This ode is defined by the equation: dx/dt = cos(t)*sgn(sin(t)) in the (t,x) coordinate system. To plot x(t) = abs(sin(t)) = f(t) use dx/dt = df/dt. f(t) is not really differentiable at multiples of π. However x(t) = sin(t) if sin(t) >= 0 and x(t) = sin(t) if sin(t) < 0 so df/dt = cos(t) if sin(t) >= 0 and df/dt = cos(t) if sin(t) < 0 so dx/dt = cos(t)*sgn(sin(t). Image 1: x(t) = abs(sin(t)).


View/Sys/Gal: Ode "MoreExs: plot x(t) = abs(t) using dx/dt = abs(x)" in "PlottingCurves." This ode is defined by the equation: dx/dt = abs(x) in the (t,x) coordinate system. Image 1: The red curve is y = abs(x) rotated 90 degrees ccw.


View/Sys/Gal: Ode "MoreExs: plot x(t) = abs(t) using dx/dt = sgn(t), w/ICs (0,0)" in "PlottingCurves." df/dt does not exist at t = 0 but we can plot x(t) = abs(t) = f(t) using dx/dt = df/dt = sgn(t), w/ICs x(0) = 0. Image 1: x(t) = abs(t).


View/Sys/Gal: Ode "MoreExs: plot x(t) = cos(t) using dx/dt = sin(t), w/ICs (0,1)" in "PlottingCurves." Plot x(t) = cos(t) using dx/dt = sin(t), w/ICs x(0) = 1. Image 1: x(t) = cos(t)


View/Sys/Gal: Ode "MoreExs: plot x(t) = sin(t) using dx/dt = cos(t), w/ICs (0,0) and integrate cos(t) on [5,5]" in "PlottingCurves." The goal here is to plot the function f(t) = sin(t) by using f'(t) and to find the integral of f'(t) on [a,b]. This ode is defined by the equation: dx/dt = df/dt = cos(t) (1) in the (t,x) coordinate system. To "solve" the ode, using calculus, means to find a function x(t) that makes (1) true. To find x(t) integrate both sides of (1) with respect to t to get ∫ dx/dt dt = ∫ cos(t) dt or ∫ dx = x+c1 = sin(t)+c2 so x(t) = sin(t)+c. (2) x(t) is a family of curves in the extended phase space, (t,x). We see that each x(t) is just the sin(t) curve shifted up if c > 0 or down if c < 0. Starting a solution at any point (t*,sin(t*)) on the sin(t) curve gives x(t*) = sin(t*)+c, but x(t*) = sin(t*) so sin(t*) = sin(t*)+c and c = 0. ICs: (0,0), ( π,0) define two solution curves that lie on top of each other. To see that the two solution curves are just phase shifted versions of each other start a Flow. To find the "integral" of cos(t) on [5,5], close the border then click on either arrowhead to get: p(5.0000000000000000) = (0.9589242746665082) p(0.0000000000000000) = (0.0000000000000000) p(5.0000000000000000) = (0.9589242746665082) So the integral of cos(t) on [5,5] is x(5)x(5) = (0.9589242746665082)0.9589242746665082) = 1.9178 4854 9333 0164 Applying WA to integral of cos(t) on [5,5] gives 1.9178 4854 9326 28 In summary:  to plot f(t), solve dx/dt = f'(t) with ICs p = (t,f(t)).  to integrate f'(t) on [a,b] = [hMin,hMax], solve dx/dt = f'(t) with ICs p = (t,f(t)), close the border, click on p then compute p(b)p(a). Image 1: x(t) = sin(t) on t ∈ [5,5]


View/Sys/Gal: Ode "MoreExs: plot x(t) = sin(t^2) using dx/dt = cos(t^2)*2*t" in "PlottingCurves." This ode is defined by the equation: dx/dt = cos(t^2)*2*t in the (t,x) coordinate system. The curve is x(t) = sin(t^2). The integral from 0 to b > 0 of sin(t^2) stays > 0 because a positive hump always has more area under it than the next negative hump. Image 1: x(t) = sin(t^2) on t ∈ [6,6] Apply WA to x(t) = sin(t^2)


View/Sys/Gal: Ode "MoreExs: plot x(t) = sin(t^2) using dx/dt = sin(x^2) w/slope fld on" in "PlottingCurves." This ode is defined by the equation: dx/dt = sin(x^2) in the (t,x) coordinate system. Image 1: y = sin(x^2).


View/Sys/Gal: Ode "MoreExs: plot x(t) = sqrt(t), t > 0 using dx/dt = .5/sqrt(t), w/ICs (1,1)" in "PlottingCurves." Plot x(t) = sqrt(t), t > 0 using dx/dt = .5/sqrt(t), w/ICs x(1) = 1. Image 1: x(t) = sqrt(t). If you try using ICs (1,1) OdeFactory gives you an error message.


View/Sys/Gal: Ode "MoreExs: plot x(t) = sqrt(t), t > 0 using dx/dt = sqrt(x) w/slope on" in "PlottingCurves." This ode is defined by the equation: dx/dt = sqrt(x) for x >= 0 in the (t,x) coordinate system. Image 1: y = sqrt(x), x >= 0


View/Sys/Gal: Ode "MoreExs: plot x(t) = t*sin(t) using dx/dt = sin(t)+t*cos(t) and find x(12.24)" in "PlottingCurves." To find the value of f(t) = t*sin(t) at t = 12.34 let dx/dt = f'(t) = sin(t)+t*cos(t). Set ICs x(0) = 0 and hMax = 12.34. Close the border and set vMax and vMin so that vMin < x(t) < vMax. Click on the arrowhead to get p(12.340000) = (2.769617). The exact answer is 2.7696209. Image 1: x(t) = t*sin(t) on t ∈ [5,12.34]


View/Sys/Gal: Ode "MoreExs: plot x(t) = t^2/2 using dx/dt = t, w/ICs {0,0} and integrate t on [0,3]" in "PlottingCurves." This ode is defined by the equation: dx/dt = t in the (t,x) coordinate system. ICs: (t,x) = (0,0). The closed form solution is: x(t) = t^2/2+x(0). Image 1: x(t) = t^2/2 on t ∈ [3,3] To find the "integral" of f(t) = t on [0,3], click on the arrowhead to get: p(3.000000) = (4.500000) p(0.000000) = (0.000000) p(3.000000) = (4.500000) So the integral is x(3)x(0) = 4.5000000 = 4.5


View/Sys/Gal: Ode "MoreExs: plot x(t) = ∫sin(y), y(t) = ∫a*cos(x), a = 1.00; " in "PlottingCurves." Plot the family of nameless curves defined by the integrals: x(t) = ∫ sin(y(t)) dt, y(t) = ∫ a*cos(x(t)) dt. This system of odes is defined by the equations: dx/dt = sin(y), dy/dt = a*cos(x). Parameters are: a = 1.00; For a = 1: the red squares are form the (infinite) separatrix system. There is a fixed point at the center of each red square (see the upper right red square). For a = 1: the corners of the red squares become fixed points and the old fixed points become corners of the new separatrix system. Image 1: a = 1, Ode view w/vector field on. Image 2: a = 1, Ode view w/vector field on. Image 3: a = 1, Ode view w/colored vector field on. Image 4: a = 1, Ode 3D/(t,x,y) view.


View/Sys/Gal: Ode "MoreExs: plot x^2y^2=1 using dx/dt = 2*y, dy/dt = 2*x" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = 2*y, dy/dt = 2*x. The desired curve is given by x^2y^2 = 1. Let H = 1x*2+y^2 and define the Hamiltonian system dx/dt = ∂H/ ∂y = 2*y, dy/dt =  ∂H/ ∂x = 2^x and use ICs on H = 0: (1,0), (1,0) to generate the two branches of the curve. Image 1: The hyperbola x^2y^2 = 1. Image 2: ICs (0,1), (0,1) give the hyperbola x^2y^2 = 1. Image 3: The R2+ view with separatrices added.


An OdeFactory Slide Show Click on a slide to zoom in. Click "video" to see a video. 
View/Sys/Gal: Ode "NonSmoothExs: Plotting Nonsmooth Functions" in "PlottingCurves." Nonsmooth functions can be used in OdeFactory to create interesting generative art,or "GenArt" for short, using the IMap or EMap views. The following systems show how to define, plot and use nonsmooth functions. Most of the previous systems demonstrated how to use OdeFactory to plot smooth functions and 2D curves. The basic idea was to plot x = f(t) by using OdeFactory to plot the solution to dx/dt = f'(t) w/ICs x(0) = f(0). In the case of smooth 2D curves, a Hamiltonian system was used. When f' does not exist at some points in the domain of interest, the "dx/dt = f'(t)" method generally cannot be used. However, it is still easy to see what "f(t)" looks like by defining the companion system dx/dt = f(x) and viewing the system with the slope field on. The function f(x) is drawn in red about the x axis and the f(x) curve, when rotated 90 degrees clockwise, is "y = f(x)."


View/Sys/Gal: Ode "NonSmoothExs: ( 1a) plot of step(x)" in "PlottingCurves." This ode is defined by the equation: dx/dt = F. Functions are: F = step(x). This is the unit step function defined as follows: step(x) = 0 if x < 0, step(x) = 1 if x >= 0. The function F has a discontinuity at x = 0 so it is not differentiable at x = 0. The ode is dx/dt = 0 if x < 0, dx/dt = 1 if x >= 0. Solutions are lines parallel to the t axis for x < 0 and parallel lines at 45 degrees for x >= 0. In the phase space x is a fixed point iff x < 0. Image 1: F(x) = step(x) in red, the vector field for dx/dt = step(x). Apply WA to step(x) on [2,2]


View/Sys/Gal: Ode "NonSmoothExs: ( 1b) dx/dt = step(t)" in "PlottingCurves." This is a nonautonomous system, i.e. the vector field is a function of t. In this case the vector field on the x axis is irrelevant. This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Functions are: F = step(t) The ode is dx/dt = 0 of t < 0, dx/dt = 1 if t >= 0. The solution curves to the left of the x axis are straight lines parallel to the t axis and parallel lines at 45 degrees to the right of the x axis. The system has no fixed points. Image 1: The slope field for dx/dt = step(t) shows the effect of the step(t) function but it does not show the step function itself.


View/Sys/Gal: Ode "NonSmoothExs: ( 2a) plot a*step(xb), a=1; b=0" in "PlottingCurves." This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Parameters are: a=1; b=0 Functions are: F = a*step(xb) F(x) is the vector field of the autonomous system. Parameter "a" is the amplitude and parameter b shifts the function on the x axis. Image 1: F(x) = 1.5*step(x.5) in red. Image 2: F(x) = step(x) in red.


View/Sys/Gal: Ode "NonSmoothExs: ( 2b) a=1; b=0, F = a*step(tb)" in "PlottingCurves." Note that this is a nonautonomous system so the slope field is shown but the vector field is not shown since it is a function of time. This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Parameters are: a=1; b=0 Functions are: F = a*step(tb) Image 1: The a=1.5, b=.5 case. Image 2: The a=1, b=0, case.


View/Sys/Gal: Ode "NonSmoothExs: ( 3a) a*(step(xb)step(xc)), square pulse function" in "PlottingCurves." For b < c, this is the square pulse function F = a*(step(xb)step(xc)) F = 0 if x < b, = a if b <= x < c and = 0 if x >= c. For a=1, b=0, c=2 the vector field at (2,0) is 0, as it should be, since F = 0 on ( ∞,0) = 1 on [0,2), = 0 on [2,+ ∞). The pulse: height = a = 1, width = cb = 2, center = (b+c)/2 = 1. Try increasing b, then try increasing c. Image 1: The pulse function of height 2 = a, width 1 = cb centered at 1.5 = (b+c)/2. So (a,b,c) = (2,1,2). Image 2: The pulse function of height 1 = a, width 2 = cb centered at 1 = (b+c)/2. So (a,b,c) = (1,0,2). Apply WA to step(x1)step(x3)


View/Sys/Gal: Ode "NonSmoothExs: ( 3b) a=1; b=0; c=2, F = a*(step(tb)step(tc))" in "PlottingCurves." This is a nonautonomous system. This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Parameters are: a=1; b=0; c=2 Functions are: F = a*(step(tb)step(tc)) Image 1: F(t) = a*(step(tb)step(tc)). Slope field.


View/Sys/Gal: Ode "NonSmoothExs: ( 4a) x%a, Java remainder or mod function" in "PlottingCurves." The percent sign, %, is called the remainder operator in Java. When written using functional notation, F(x,a) = x%a, it can be thought of as a generalized mod function where x and a are not restricted to positive integers, they can be any int or double. F(x,a) satisfies F(x,a) = F(x,a) and F(x,a) = F(x,a). The definition of F is: F(x,a) = xn*a on [n*a,(n+1)*a)
where n = 0, 1, ... On the +x axis the graph looks like a sawtooth function with tooth width = height = a. If you rotate the +x graph 180 degrees ccw in the (x,y) plane you get the x half of the graph, i.e. F(x,a) is an odd function. Image 1: F(x) = x%1 (the vector field) with some solution curves for the autonomous system. Apply WA to (sgn(x)1)*(amod(x,a))/2+(sgn(x)+1)*(mod(x,a)/2) for a=1 The first term is the x part of the x%a function and the second term is the +x part of the x%a function.


View/Sys/Gal: Ode "NonSmoothExs: ( 4b), a=1, F = t%a" in "PlottingCurves." This is a nonautonomous system. This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Parameters are: a=1 Functions are: F = t%a NOTE: User defined functions must always be defined in (t,x,y,z,w) coordinates. Image 1: Some solution curves for the nonautonomous system.


View/Sys/Gal: IMap "NonSmoothExs: ( 4c) (a*b%c), a=23; b=5.5; c=1.5 IMap" in "PlottingCurves." This iteration is defined by: x < a*b%c. Parameters are: a=23; b=5.5; c=1.5 a*b%c = (a*b)%c = (23*5.5)%1.5 = 126.5%1.5 = .5 So every seed goes to the fixed point x = .5 Image 1: IMap view w/"S On".


View/Sys/Gal: IMap "NonSmoothExs: ( 4d) (a*(b%c)), a=23; b=5.5; c=1.5 IMap" in "PlottingCurves." This iteration is defined by: x < a*(b%c). Parameters are: a=23; b=5.5; c=1.5 In this case, parentheses have been added to the expression "a*b%c" to force a different evaluation order: a*b%c = (a*b)%c but a*b%c ≠ a*(b%c). (b%c) = 5.5%1.5 = remainder on division by 1.5 = 1 and 23*1 = 23. So, when a*(b%c) is used in place of a*b%c, with the same parameter values, the fixed point changes from .5 to 23. Image 1: IMap view w/"S On"


View/Sys/Gal: IMap "NonSmoothExs: ( 5a) sawtooth or math mod function" in "PlottingCurves." The Java remainder function, combined with the unit step function, can be used to generate the "sawtooth" wave function or the math mod function with period and amplitude "a." F(x) = (sgn(a)+1)/2*(x%a+(1step(x))*a) (sgn(a)1)/2*(x%a+step(x)*a) The sgn factors turn the two terms on and off depending on the sign of parameter "a." Image 1: IMap view, sawtooth wave function for a = 2. Also called the math "mod" function. Image 2: IMap view, sawtooth wave function for a = 1 Apply WA to plot mod(x,a), with a = 2 or to plot x mod a, with a = 1 Note that the Java "mod" operator, %, is NOT the math "mod" function and that the WA "mod" operator, as well as the WA "mod" function IS the math "mod" function.


View/Sys/Gal: EMap "NonSmoothExs: ( 5b) EMapCT3" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ycos(x%b)), y < (1+.1*s)*F. Parameters are: a = 6.400; b = 4.800; s = .061; Functions are: F = x%a+(1step(x))*a EMap CT: 3 Image 1: Nonsmooth functions often produce interesting EMaps.


View/Sys/Gal: EMap "NonSmoothExs: ( 5c) EMapCT9 mother and child reunion" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ycos(x%b)), y < (1+.1*s)*F. Parameters are: a = 6.400; b = 4.800; s = .000; Functions are: F = x%a+(1step(x))*a EMap CT: 9 Image 1: EMap view.


View/Sys/Gal: EMap "NonSmoothExs: ( 5d) using the Java % operator" in "PlottingCurves." This vector field is defined by: V = (ycos(x%b),F). Parameters are: a = 6.10; b=1 Functions are: F = x%a+(1step(x))*a Turn the colored vector field. Image 1: The colored vector field in the Ode view. Toggle to the EMap view. Image 2: The EMap view w/CT 0.


View/Sys/Gal: EMap "NonSmoothExs: ( 5e) using the Java % operator" in "PlottingCurves." This vector field is defined by: V = (ycos(x%b),F) Parameters are: a = 53.00; b = 4.90; Functions are: F = x%a+(1step(x))*a Turn on the colored vector field. Image 1: The colored vector field in the Ode view zoomed out 2X. The yellow lines are xnullclines. Toggle to the EMap view. Image 2: The EMap view w/CT 0.


View/Sys/Gal: EMap "NonSmoothExs: ( 5f) EMapCT10" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ycos(x%b)), y < (1+.1*s)*F. Parameters are: a = 6.400; b = 4.800; s = .061; Functions are: F = x%a+(1step(x))*a EMap CT: 10 Image 1: Yet another EMap. Image 2: EMapMaxCT2.


View/Sys/Gal: Ode "NonSmoothExs: ( 6a) using the % operator to create an interesting IMap0011" in "PlottingCurves." This vector field is defined by: Vx = ysgn(x)*sqrt(abs(b*xc)), Vy = ax%d Parameters are: a = .54; b = .43; c = .84; d = 69.00; If you leave out the "%d" factor the system is Barry Martin's well known "hopalong" map from Scientific American September 1986. The parameter values have been chosen at random to give an interesting IMap. Image 1: The IMap0011 view w/31 orbits. You need a lot of orbits to get an interesting image. The "0011" are flag values used to select the IMap display settings on the "Settings" menu. Image 2: The EMap view. There are parts of the EMap to the left and right that are out of the viewing region. Image 3: The Ode view. Only two trajectories are shown. Play with the parameters. You can get back to the original state by selecting the system again. You can save an interesting new version of the system by selecting "Add to Gallery" on the OdeSystem menu. To increase the scale on any of the sliders, move the slider to the edge of the range then close and reopen the parameter controller. To decrease the scale on any of the sliders (to get finer control of the slider position), move the slider to the center of the range then close and reopen the parameter controller. Also try zooming in/out. If you add starting points in either the Ode or IMap view, the new trajectories in the IMap view will not get their new colors until you click the Center button to force a redraw.


View/Sys/Gal: EMap "NonSmoothExs: ( 6b) variation of (6) as an IMap0011" in "PlottingCurves." This vector field is defined by: Vx = ysgn(x)*sqrt(abs(b%xc)), Vy = ax%d Parameters are: a = .33; b = .45; c = .86; d = 70.00; Image 1: IMap view with 47 orbits. Some periodic orbits:
The orbit at (44.280443,27.474747) goes to approximately the period 14 orbit but it does not have period 14. The orbit at (40.147601,36.525253) seems to spiral in to the center. Image 1: The IMap view with the colored vector field on. Zoom in 3X and and turn "Show 2D IMap Orbit Sequence" on. Image 2: The EMapMaxCT1 view with the period 14 orbit showing.


View/Sys/Gal: Ode "NonSmoothExs: ( 6c) variation of (6) as an Ode" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = ysgn(x)*sqrt(abs(b%xc)), dy/dt = ax%d Parameters are: a = .33; b = .45; c = .86; d = 70.00; ICs: traj A at (0.274446,0.858586), traj B at (0.563595,0.853220), traj C at (0.264645,0.601010). There is a fixed point near p = (.323,.864). Traj A spirals in to p, traj B spirals out to an outer ωlimit cycle and traj C spirals in to the outer ωlimit cycle. There is also an inner αlimit cycle. Image 1: Ode view near origin. Image 2: Ode view near origin w/colored vector field. Image 2: Zoomed out view w/traj C extended in t.


View/Sys/Gal: EMap "NonSmoothExs: ( 6d) painting by the numbers, EMapMaxCT1" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). It is a timescaled version of ( 6a). Parameters are: a = .630; b = .520; c = .870; d = 71.000; s = .190; Image 1: EMapMaxCT1 view. Deselect "Show EMap w/Max Detail" and zoom out 2X. You can now see three small black rectangular structures in the image. They are at: (.64,.03932), (.56472,.007) and (.59306,1.22152). There are exactly three of these structures. Image 2: EMapCT1 view zoomed out 2X. With EMapMax detail on, the black rectangular structures looked more like rectangular spirals. Try some other color tables.


View/Sys/Gal: EMap "NonSmoothExs: ( 6e) variation of (6) as an EMapCT3 timescaled" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .630; b = .520; c = .870; d = 71.000; s = .190; EMap CT: 3 Image 1: EMap view.


View/Sys/Gal: EMap "NonSmoothExs: ( 6e*) using step in place of abs EMapCT3" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .630; b = .520; c = .870; d = 71.000; s = .190; EMap CT: 3


View/Sys/Gal: EMap "NonSmoothExs: ( 6e*) using step in place of abs ver 2 EMapCT3" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .3200; b = .5900; c = .4800; d = 29.0000; s = .0000; EMap CT: 3


View/Sys/Gal: EMap "NonSmoothExs: ( 6e*) using step in place of abs ver 3 EMap" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = 2.8000; b = .5900; c = .6300; d = 29.0000; s = .0270; EMap CT: 0


View/Sys/Gal: EMap "NonSmoothExs: ( 6e*) using step in place of abs ver 4 EMapCT3" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .3200; b = .5900; c = .4800; d = 29.0000; s = .0330; EMap CT: 3 Image 1: EMap view. Image 2: EMap view zoomed out 2X.


View/Sys/Gal: EMap "NonSmoothExs: ( 6e*) using step in place of abs ver 5 EMapCT3" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .2600; b = .5900; c = .4800; d = 29.0000; s = .2000; EMap CT: 3


View/Sys/Gal: EMap "NonSmoothExs: ( 6e*) using step in place of abs ver 6 EMapCT6" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .2800; b = .6600; c = .6500; d = 66.0000; s = .3000; EMap CT: 6


View/Sys/Gal: EMap "NonSmoothExs: ( 6e**) using sin in place of sgn ver 1 EMapCT6" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysin(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .2800; b = .6600; c = .6500; d = 66.0000; s = .3000; EMap CT: 6


View/Sys/Gal: EMap "NonSmoothExs: ( 6f) variation of (6a) as an EMap" in "PlottingCurves." This vector field is defined by: Vx = ysgn(x)*sqrt(abs(b%xc)), Vy = ax%d Parameters are: a = .63; b = .52; c = .87; d = 71.00; Image 1: EMap view.


View/Sys/Gal: Ode "NonSmoothExs: ( 6g) EMapMaxCT3 yet more structure" in "PlottingCurves." This iteration is defined by: x < ysgn(x)*sqrt(abs(b%xc)), y < ax%d. Parameters are: a = .6300; b = .5200; c = .8700; d = 71.0000; This system is a variation of system ( 6f). Image 1: EMapMaxCT3 view. Image 2: IMap view w/"Show 2D IMap Orbit Sequence" on. There is a period 9 orbit (red) at (0.359873,0.270127) and a period 14 orbit (blue) at (0.328698,1.152530). Image 3: EMapMaxCT3 view w/"Show 2D IMap Orbit Sequence" on shows a period 9 orbit at (0.359873,0.270127). Image 4: EMapMaxCT3 view w/"Show 2D IMap Orbit Sequence" on shows a period 14 orbit at (0.328698,1.152530). In the Ode view there is a fixed point at about (.627,.606) which seems to be surrounded by cw cycles bounded by an αlimit cycle. There is also an outer ωlimit cycle. Image 5: The Ode view with cycles and limit cycles.


View/Sys/Gal: Ode "NonSmoothExs: ( 7a) square wave function, y = sgn(sin(x))" in "PlottingCurves." This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. The 1st order 1D system corresponds to the 1st order ode: y' = F in the (x,y) coordinate system. Functions are: F = sgn(sin(x)) This is a square wave function with amplitude 1 and period 2 π. Image 1: Ode view of the vector field. Apply WA to sgn(sin(x))


View/Sys/Gal: IMap "NonSmoothExs: ( 7b) (sgn(sin(y)),a*sgn(cos(x))), a=1" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = sgn(sin(y)), dy/dt = a*sgn(cos(x)). Parameters are: a=1 This is an Ode with an infinite number of square periodic orbits. Image 1: Ode view with a few trajectories. Ode questions: (1) Are the periods all the same? (2) Are there fixed points where the diagonals of the squares cross. (3) Are there fixed points where the outer squares meet? Hint: apply WA to sgn(sin(y))= 0, sgn(cos(x)) = 0 All IMap orbits go to (1,1) for a = 1. Image 2: 3D/(t,x,y) IMap view.


View/Sys/Gal: Ode "NonSmoothExs: ( 8a) F=floor(x)" in "PlottingCurves." This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Functions are: F=floor(x) Image 1: y = floor(x).


View/Sys/Gal: Ode "NonSmoothExs: ( 8b) sawtooth F=xfloor(x)" in "PlottingCurves." This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Functions are: F=xfloor(x) Image 1: The sawtooth wave function. Apply WA to sawtooth(x) See (10c) and note that x%1 = x  floor(x) for x >= 0.


View/Sys/Gal: Ode "NonSmoothExs: ( 9) F=ceil(x)" in "PlottingCurves." This ode is defined by the equation: dx/dt = F in the (t,x) coordinate system. Functions are: F=ceil(x) Image 1: The Ode vector field for the ceil(x) function. Apply WA to ceiling(x)


View/Sys/Gal: EMap "NonSmoothExs: (10a) (ceil(y),afloor(x)), a=0" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = ceil(y), dy/dt = afloor(x). Parameters are: a=0 See the colored vector field view. Image 1: The colored vector field. The yellow lines are nullclines. Intersections of nullclines are fixed points. Image 2: The EMap view. If you consider this to be a Julia set, the black region is the "prisoner" set.


View/Sys/Gal: EMap "NonSmoothExs: (10b) EMapCT1 Floor to ceiling." in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*ceil(y), y < (1+.1*s)*(afloor(x)). Parameters are: a = .048; s = .008; EMap CT: 1 Image 1: An interesting hardedge EMap image. Try EMapMax w/CT5. Adjust parameters "a" and/or s.


View/Sys/Gal: EMap "NonSmoothExs: (11) EMapCT1 (ceil(y)%a,x*y+b), a=2.4; b=3" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = ceil(y)%a, dy/dt = x*y+b. Parameters are: a=2.4; b=3 Image 1: Another hardedge EMap w/CT 1. Try some other color tables and parameter values.


View/Sys/Gal: IMap "NonSmoothExs: (12) (y,F), F=xfloor(x)" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = y, dy/dt = F in the (t,x,y) coordinate system. Functions are: F=xfloor(x) Image 1: The colored vector field view. Image 2: IMap 3D/(t,x) view w/hMax = 20. All orbits have period 2.


View/Sys/Gal: Ode "NonSmoothExs: (13) (y,F), a=1, F = x%a+(1step(x))*a" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = y, dy/dt = F in the (t,x,y) coordinate system. Functions are: F = x%a+(1step(x))*a Image 1: Colored vector field, same as (12). Note: xfloor(x) = x%1+(1step(x))


View/Sys/Gal: IMap "NonSmoothExs: (14) (Y,X), Y=yfloor(y); X=xfloor(x)" in "PlottingCurves." This system of odes is defined by the equations: dx/dt = Y, dy/dt = X. Functions are: Y=yfloor(y); X=xfloor(x) Image 1: The colored vector field view. All points w/integer coordinates are fixed points for the Ode. Image 2: IMap view. All orbits are squares centered at (.5,.5) and they have period 4. Image 3: 3D/(t,x) IMap view w/hMax = 20.


View/Sys/Gal: Ode "NonSmoothExs: (15a) wave function (abs((xp/4)%p+(1step(xp/4))*pp/2)p/4), p = 3.1415926" in "PlottingCurves." This ode is defined by the equation: dx/dt = abs((xp/4)%p+ (1step(xp/4))*pp/2)p/4 in the (t,x) coordinate system. Parameters are: p = 3.1415926 Image 1: wave function w/period p


View/Sys/Gal: Ode "NonSmoothExs: (15b) wave function again (abs(2*(x/afloor(x/a+.5)))), a=1;" in "PlottingCurves." This ode is defined by the equation: dx/dt = abs(2*(x/afloor(x/a+.5))) in the (t,x) coordinate system. Parameters are: a=1; Image 1: another form of the wave function


View/Sys/Gal: Ode "NonSmoothExs: (15c) wave function yet again ((x2*floor(x/2+.5))*(1)^floor(x/2+.5))" in "PlottingCurves." This ode is defined by the equation: dx/dt = (x2*floor(x/2+.5))*(1)^floor(x/2+.5) in the (x,y) coordinate system. Image 1: yet another form of the wave function


View/Sys/Gal: EMap "Order and Chaos: 1 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .630; b = .520; c = .870; d = 71.000; s = .190; EMap CT: 5 Image 1: In the large 14 by 14 view we see some order and a lot of chaos. The order and chaos seems to be separated. Image 2: If we zoom in 7X, to about a .00016 by .00016 view, we see more order and less chaos. At this finestructure scale we see that the order and chaos are really intertwined.


View/Sys/Gal: EMap "Order and Chaos: 2 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6300; b = .5200; c = .8700; d = 71.0000; s = .2900; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 3 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6100; b = .5200; c = .8700; d = 71.0000; s = .2900; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 4 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .5900; b = .5200; c = .8700; d = 71.0000; s = .2900; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 5 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .5800; b = .5200; c = .8700; d = 71.0000; s = .2800; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 6 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .5800; b = .5200; c = .8700; d = 71.0000; s = .2800; EMap CT: 5 Use full screen.


View/Sys/Gal: EMap "Order and Chaos: 7 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8700; d = 71.0000; s = .2800; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 8 EMapMaxCT5" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8700; d = 71.0000; s = .2800; EMap CT: 5 Use full screen.


View/Sys/Gal: EMap "Order and Chaos: 9 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8700; d = 71.0000; s = .2800; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 10 EMapMaxCT7" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8700; d = 71.0000; s = .2800; EMap CT: 7 Use full screen.


View/Sys/Gal: EMap "Order and Chaos: 11 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8600; d = 11.0000; s = .2800; EMap CT: 5 Use full screen.


View/Sys/Gal: EMap "Order and Chaos: 12 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8600; d = 11.0000; s = .2800; EMap CT: 5 Use full screen.


View/Sys/Gal: EMap "Order and Chaos: 13 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8600; d = 11.0000; s = .2800; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 14 EMapMaxCT5" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8600; d = 11.0000; s = .2800; EMap CT: 5 Use full screen.


View/Sys/Gal: EMap "Order and Chaos: 15 EMapCT6 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .2800; b = .6600; c = .6500; d = 66.0000; s = .3000; EMap CT: 6


View/Sys/Gal: EMap "Order and Chaos: 16 EMapMaxCT2 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(step(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .2800; b = .6600; c = .6500; d = 66.0000; s = .3000; EMap CT: 2 Use a square prison. Zoom out.


View/Sys/Gal: EMap "Order and Chaos: 17 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .6500; b = .5200; c = .8600; d = 11.0000; s = .2800; EMap CT: 5


View/Sys/Gal: EMap "Order and Chaos: 18 EMapMaxCT5 sq prison" in "PlottingCurves." This iteration is defined by: x < (1+.1*s)*(ysgn(x)*sqrt(abs(b%xc))), y < (1+.1*s)*(ax%d). Parameters are: a = .5800; b = .5200; c = .8700; d = 71.0000; s = .2800; EMap CT: 5
