Jim Belk University of Glasgow

Homework 4

Due Date: Friday, October 2

  1. The map \(\mathbf{f}(x,y) = ({-}x^2 +y^2 + 0.9x -0.6y,\) \({-}2xy+2x+0.5y)\) has a strange attractor.
    1. Use ListLinePlot to draw the first 200 points in the orbit of \((1,1)\) under \(\mathbf{f}\). Include the following options:
      • ImageSize -> 800 to increase the size of the plot
      • Mesh -> All to make the points of the orbit visible
      • MeshStyle -> PointSize[Large] to increase the size of the points
    2. We can get a better picture of the attractor by drawing more points and dropping the lines. Use ListPlot (not ListLinePlot) to draw the first 500,000 points in the orbit of \((1,1)\) under \(\mathbf{f}\). Include the following options:
      • ImageSize -> 800 to make the plot bigger
      • PlotStyle -> PointSize[Tiny] to decrease the size of the points
    1. Use Manipulate to create an interactive ListLinePlot of the first 200 points in the orbit of a point \(p\) under the function \(\mathbf{f}(x,y) = \bigl(1+\sin y,0.2y-x\bigr)\), with the position of \(p\) determined by a Locator. Include the following options:
      • The options for ListLinePlot suggested in question 1(a)
      • PlotRange -> {{-2,2},{-2,2}} to fix the size of the viewing window.
    2. For each of the following functions, use your code from part (a) to investigate the dynamics. Does the function have any attractors? If so, classify each attractor as a fixed point, an attracting cycle, or something else. Does the function exhibit any signs of chaos?
      • \(\mathbf{f}(x,y) = \bigl(1+\sin y,\) \(0.2y-x\bigr)\)
      • \(\mathbf{g}(x,y) = \bigl(\sin(2x+y),\) \(x/2\bigr)\)
      • \(\mathbf{h}(x,y) = \biggl(\dfrac{\cos x - 3y}{5},\) \(2 \sin(x)\biggr)\)
      • \(\mathbf{j}(x,y) = \bigl(\sin y,\) \(\sin y - 1.3\sin x\bigr)\)
      • \(\mathbf{k}(x,y) = \bigl(\sin(x+2y),\) \(\sin(4x)\bigr)\)
  2. The notebook Pendulums.nb contains code for the commands Pendulum and DDPendulum. You can use these commands as follows:
    • Pendulum[{\(\theta_0\),\(\omega_0\)},\(t_{\scriptscriptstyle\mathrm{max}}\)] returns the function \(\theta(t)\) for a basic pendulum with initial conditions \(\theta(0) = \theta_0\), \(\theta\hspace{0.08333em}'(0) = \omega_0\). The function \(\theta(t)\) will only work for \(0 \leq t \leq t_{\scriptscriptstyle\mathrm{max}} \).
    • DDPendulum[{\(\theta_0\),\(\omega_0\)},\(t_{\scriptscriptstyle\mathrm{max}}\)] works the same way, but it returns the function \(\theta(t)\) for a damped driven pendulum.
    1. Use Animate to display an animation of a (basic) moving pendulum. The animation should run for 100 seconds, and the pendulum should start at \(\theta(0) = \pi/2\) and \(\theta\hspace{0.08333em}'(0) = 0\). Your animation should include:
      • A Line for the string
      • A Disk for the bob
      • The PlotRange option for Graphics to keep your image stable
      • The AnimationRate -> 1 option for Animate to run the animation at the appropriate rate.
      Warning: Do not use Pendulum inside of Animate—this command is too slow to run every frame. Call Pendulum beforehand to get the function \(\theta(t)\), and then use the result inside of Animate.
    2. Now show an animation of 100 seconds of the motion of the damped driven pendulum for \(\theta(0) = \theta\hspace{0.08333em}'(0) = 0\).
    3. Use Row inside of Animate to show side-by-side animations of the damped driven pendulum with slightly different initial conditions. (You will need to use ImageSize for each Graphics or they will be very small.) Use \(\theta(0) = 1\) or \(1.01\) and \(\theta\hspace{0.08333em}'(0) = 0\) for your two initial states. Does this system exhibit sensitive dependence on initial conditions?
    4. Create a function Advance[{\(\theta_0\),\(\omega_0\)}] for the damped driven pendulum that takes a pair \(\bigl(\theta(0),\theta\hspace{0.083333em}'(0)\bigr)\) as input and outputs \(\bigl(\theta(2\pi),\theta\hspace{0.083333em}'(2\pi)\bigr)\). Use Mod to make sure that the outputted value of \(\theta(2\pi)\) is between \(0\) and \(2\pi\). You may also find the With command helpful for this. Your function works correctly if Advance[{1.0,-9.0}] outputs {3.78895,-7.13387}.
    5. The function Advance has a strange attractor. Use the method of question 1(b) to draw a picture of this attractor, showing 100,000 points in the orbit of \((0,0)\).