User Tools

Site Tools


gibson:teaching:fall-2012:math445:lab11

Math 445 Lab 11: Differential Equations

Problem 1: dy/dt = sin(y+t)

Show a quiver plot in the (t,y) plane of the differential equation dy/dt = sin(y+t) over the region 0 ≤ t ≤ 2pi and -pi ≤ y ≤ pi. Use Matlab's ode45 function to compute solution curves y(t) for each of the following initial conditions, and superimposed the solution curves on the quiver plot in the indicated colors y(0) = -1 in red, y(0) = 0 in blue , y(0) = 1 in black. Be sure to set the axes tight around the quiver plot, set the unit length of the axes to be equal, label the axes, and title the graph.

Problem 2: van der Pol oscillator

(a) The van der Pol oscillator is defined by the second-order differential equation


d^2x/dt^2 - \mu (1-x^2) dx/dt + x = 0

This second-order equation can be converted to a system of two first-order equations by letting y be a 2-d vector

$y = [y_1, y_2] = [x, ~dx/dt]$.

Then

$dy/dt = [dy_1/dt, ~dy_2/dt ] = [y_2, ~\mu (1-y_1^2) y_2 - y_1]$.

Use this definition of the vector $dy/dt$ to produce a quiver plot of the van der Pol oscillator in the $y_1, y_2$ plane for $\mu = 1$, over the range $-3 \leq y_1 \leq 3$ and $-3 \leq y_2 \leq 3$. Using Matlab's ode45, compute solution curves $y(t)$ for the five different initial values $y(0) = [0.1~ 0], [0.2~0], [1~0], [2~0],$ and $[3~0]$, and superimpose them on the quiver plot in red.

Hint: put the call to ode45 inside a for loop that sets the value of $y_1$ to the five different initial values.

(b) Put your work for part (a) in a script file, and run the script for a range of values of $\mu$ between -1 and 1. How does the character of the solutions of the equation change as $\mu$ passes through 0? Turn in plots for a negative, zero, and a positive value of $\mu$, whichever values you think best illustrate the change as $\mu$ passes through zero.

Hint: To avoid the need to change the value of $\mu$ in both the script and the function file that defines $dy/dt = f(t,y)$, define $dy/dt = f(t,y)$ as an anonymous function within your script file, so that it inherits the $\mu$ of the script file.

gibson/teaching/fall-2012/math445/lab11.txt · Last modified: 2012/12/04 06:03 by gibson