Lecture slides for UCLA LS 30B, Spring 2020
License: GPL3
ubuntu2004
Question: What sorts of long-term behavior can you possibly get from a single-variable ordinary differential equation?
(That is, from an ODE, not a delay differential equation.)
Question: What sorts of long-term behavior can you possibly get from a single-variable ordinary differential equation?
Answer:
Constant (start on an equilibrium point, stay there forever)
Approach a stable equilibrium point
Grow without bound (increase to or decrease to )
Question: What sorts of long-term behavior can you possibly have in a 2D system of ordinary differential equations?
(Again, ODEs, not DDEs.)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-4-47dd30acdbce> in <module>
9 (Integer(2), Integer(4)): t_range,
10 }
---> 11 p1 = plot_phase_portrait(field, (X, -Integer(1), Integer(3)), (Y, -Integer(1), Integer(3)), ics,
12 eqpt_color="red", nullcline_colors=(None, None), aspect_ratio=Integer(1))
13 p = p1 + text("Constant solution (single point trajectory)", (Integer(1), RealNumber('3.7')), fontsize=Integer(12))
NameError: name 'plot_phase_portrait' is not defined
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-5-b021583a0e82> in <module>
9 (Integer(2), Integer(2)): t_range,
10 }
---> 11 p2 = plot_phase_portrait(field, (X, -Integer(3), Integer(3)), (Y, -Integer(3), Integer(3)), ics,
12 nullcline_colors=(None, None), aspect_ratio=Integer(1))
13 p = p2 + text("Trajectory approaches stable eq. point", (Integer(0), Integer(4)), fontsize=Integer(12))
NameError: name 'plot_phase_portrait' is not defined
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-6-ea02cf7d861b> in <module>
9 (RealNumber('0.1'), -RealNumber('0.1')): t_range,
10 }
---> 11 p3 = plot_phase_portrait(field, (X, -RealNumber('1e9'), RealNumber('1e9')), (Y, -RealNumber('1e9'), RealNumber('1e9')), ics,
12 eqpt_color=None, nullcline_colors=(None, None), aspect_ratio=Integer(1))
13 p = p3 + text('Trajectory is unbounded ("goes to infinity")', (Integer(0), RealNumber('1.35E9')), fontsize=Integer(12))
NameError: name 'plot_phase_portrait' is not defined
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-7-13b02351edb5> in <module>
9 (RealNumber('0.365'), Integer(0)): t_range,
10 }
---> 11 p4 = plot_phase_portrait(field, (X, -Integer(1), Integer(1)), (Y, -Integer(1), Integer(1)), ics,
12 eqpt_color=None, nullcline_colors=(None, None), aspect_ratio=Integer(1))
13 p = p4 + text("Trajectory is periodic (closed loop orbit)", (Integer(0), RealNumber('1.35')), fontsize=Integer(12))
NameError: name 'plot_phase_portrait' is not defined
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-8-7d72f7127f58> in <module>
9 (Integer(1), -RealNumber('0.75')): t_range,
10 }
---> 11 p5 = plot_phase_portrait(field, (X, -Integer(1), Integer(1)), (Y, -Integer(1), Integer(1)), ics,
12 eqpt_color=None, nullcline_colors=(None, None), aspect_ratio=Integer(1))
13 solution = desolve_odeint(field, (-Integer(1), -RealNumber('0.75')), t_range, state_vars)
NameError: name 'plot_phase_portrait' is not defined
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-9-e59bf2792eb6> in <module>
9 (RealNumber('2.02'), RealNumber('2.02')): t_range,
10 }
---> 11 p6 = plot_phase_portrait(field, (X, Integer(0), Integer(4)), (Y, Integer(0), Integer(4)), ics,
12 aspect_ratio=Integer(1))
13 p = p6 + text('Multiple saddle points form a "polygon" of other', (Integer(2), RealNumber('4.9')), fontsize=Integer(12))
NameError: name 'plot_phase_portrait' is not defined
These are all of the long-term behaviors that can happen to a trajectory in 2D!
(This fact is called the Poincaré–Bendixson Theorem.)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-10-d418b379e101> in <module>
----> 1 ga = graphics_array(((p1, p2, p3), (p4, p5, p6)))
2 ga.show(figsize=Integer(9))
NameError: name 'p1' is not defined
In 3D (and higher dimensions), there's a new kind of behavior that does not fit any of these patterns...
Consider a food chain, with three species: say grass (), sheep (), and wolves ().