{ "metadata": { "name": "", "signature": "sha256:54940c2c9b55cf934ebe7a2fc867b65b8709fa7101799b378a8f3845989c1731" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from ipywidgets import StaticInteract, RangeWidget, RadioWidget" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "h = 0.1\n", "\n", "def fn(k,m,y):\n", " return -k*y/m\n", "\n", "#def euler_step(k,m,y,dy):\n", "# F1 = dy\n", "# f1 = fn(k,m,y)\n", "# return [f1*h, F1*h] # [dy, y] update\n", "\n", "def rk2_step(k,m,y,dy):\n", " F1 = dy\n", " f1 = fn(k,m,y)\n", " F2 = dy +f1*h\n", " f2 = fn(k,m,(y+F1*h))\n", " return [(f1+f2)*h/2., (F1+F2)*h/2.] # [dy, y] update\n", "\n", "def main(k,m):\n", " y = 0\n", " dy = 1\n", " i = 0\n", " ylist = []\n", " while i<100:\n", "# array = euler_step(k,m,y,dy)\n", " array = rk2_step(k,m,y,dy)\n", " dy += array[0]\n", " y += array[1]\n", " #print y,dy\n", " ylist.append(y)\n", " i +=1\n", " return ylist\n", "\n", "def plot(k,m):\n", " fig, ax = plt.subplots(figsize=(4, 3),\n", " subplot_kw={'axisbg':'#EEEEEE',\n", " 'axisbelow':True})\n", " ax.grid(color='w', linewidth=2, linestyle='solid')\n", " alist = main(k,m)\n", " ax.plot(alist, lw=5, alpha=0.4, label = m/k)\n", " ax.legend(loc='upper right')\n", " #ax.set_xlim(0,2*np.pi)\n", " #ax.set_ylim(-1, 1)\n", " return fig" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "StaticInteract(plot, k=RangeWidget(1., 5., 1.), m=RangeWidget(1., 3., 1.))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " \n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " k: \n", "
\n", "m: \n", "
\n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "markdown", "metadata": {}, "source": [ "instead of a quadratic potential, if we use a potential of the form $x^4$" ] }, { "cell_type": "code", "collapsed": false, "input": [ "h = 0.1\n", "\n", "def fn(k,m,y):\n", " return -k*y*y*y/m\n", "\n", "def rk2_step(k,m,y,dy):\n", "# euler step\n", "# F1 = dy\n", "# f1 = fn(k,m,y)\n", " F1 = dy\n", " f1 = fn(k,m,y)\n", " F2 = dy +f1*h\n", " f2 = fn(k,m,(y+F1*h))\n", " return [(f1+f2)*h/2., (F1+F2)*h/2.] # [dy, y] update\n", " # y += h*(k1+k2)/2; // aces!\n", " # dy += h*(K1+K2)/2;\n", "\n", "def main(k,m):\n", " y = 0\n", " dy = 1\n", " i = 0\n", " ylist = []\n", " while i<100:\n", " array = rk2_step(k,m,y,dy)\n", " dy += array[0]\n", " y += array[1]\n", " #print y,dy\n", " ylist.append(y)\n", " i +=1\n", " return ylist\n", "\n", "def plot(k,m):\n", " fig, ax = plt.subplots(figsize=(4, 3),\n", " subplot_kw={'axisbg':'#EEEEEE',\n", " 'axisbelow':True})\n", " ax.grid(color='w', linewidth=2, linestyle='solid')\n", " alist = main(k,m)\n", " ax.plot(alist, lw=5, alpha=0.4, label = m/k)\n", " ax.legend(loc='upper right')\n", " #ax.set_xlim(0,2*np.pi)\n", " #ax.set_ylim(-1, 1)\n", " return fig" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "StaticInteract(plot, k=RangeWidget(1., 5., 1.), m=RangeWidget(1., 5., 1.))" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "\n", " \n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " k: \n", "
\n", "m: \n", "
\n", " " ], "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ "" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "testing\n", "===" ] }, { "cell_type": "code", "collapsed": false, "input": [ "plt.hold(True)\n", "m=1\n", "for k in range(1,4):\n", " alist = main()\n", " plt.plot(alist)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "def fn(k,m,y):\n", " return -k*y/m\n", "\n", "def euler_step(k,m,y,dy):\n", " F1 = dy\n", " f1 = fn(k,m,y)\n", " return [f1*h, F1*h] # [dy, y] update\n", "\n", "i = 0\n", "y = 0\n", "dy = 1\n", "h = 0.1\n", "k = m = 1\n", "ylist = []\n", "while i<100:\n", " array = euler_step(k,m,y,dy)\n", " dy += array[0]\n", " y += array[1]\n", " #print y,dy\n", " ylist.append(y)\n", " i +=1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 16 }, { "cell_type": "code", "collapsed": true, "input": [ "plt.plot(ylist)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] }, { "cell_type": "code", "collapsed": false, "input": [ "def fn(k,m,y):\n", " return -k*y/m\n", "\n", "def rk2_step(k,m,y,dy):\n", " F1 = dy\n", " f1 = fn(k,m,y)\n", " F2 = dy +f1*h\n", " f2 = fn(k,m,y+F1*h)\n", " return [(f1+f2)*h/2., (F1+F2)*h/2.] # [dy, y] update\n", "\n", "i = 0\n", "y = 0\n", "dy = 1\n", "h = 0.1\n", "k = m = 1\n", "ylist = []\n", "while i<100:\n", " array = rk2_step(k,m,y,dy)\n", " dy += array[0]\n", " y += array[1]\n", " #print y,dy\n", " ylist.append(y)\n", " i +=1" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "plt.plot(ylist)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 15, "text": [ "[]" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }