{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "

# Worked Solutions for Lab Class 4: Solving ODEs numerically

" ] }, { "cell_type": "code", "execution_count": 45, "metadata": { "collapsed": false }, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from scipy.integrate import odeint\n", "%matplotlib inline\n", "plt.rcParams.update({'font.size': 14}) # Make the labels larger" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

### Question 1: First-order Ordinary Differential Equations (ODEs).

" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Q3(a). After introducing the new variable $y = \\dot{x}$, I obtain a 2D set of first-order ODEs:\n", " \\begin{eqnarray}\n", " \\dot{x} &=& y \\\\\n", " \\dot{y} &=& -2\\gamma y - x , \\quad x(0) = 1, y(0) = 0. \n", " \\end{eqnarray}" ] }, { "cell_type": "code", "execution_count": 77, "metadata": { "collapsed": false }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Question 3(b)\n", "def oscillator(X, t, gamma = 1.0):\n", " x = X[0]; y = X[1];\n", " dxdt = y\n", " dydt = -2*gamma*y - x\n", " return np.array([dxdt, dydt])\n", "\n", "h = 0.1; tmax = 20.0; tmin = 0.0;\n", "n = int((tmax-tmin)/h); ts = np.linspace(tmin, tmax, n+1);\n", "X0 = (1.0, 0.0) # initial conditions\n", "nseries = 10\n", "gammas = np.linspace(0, 2.0, nseries+1)\n", "for g in gammas:\n", " # Pass the parameter 'gamma' via the optional argument 'args'\n", " Xs = odeint(oscillator, X0, ts, args=(g,))\n", " plt.plot(Xs[:,0], Xs[:,1])\n", "plt.axis('equal');\n", "# The point (0,0) is an attractive limit point if gamma > 0.\n", "plt.xlabel('x(t)'); plt.ylabel('y(t)'); " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "