{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Shooting Method\n",
"\n",
"Copyright (C) 2020 Andreas Kloeckner\n",
"\n",
"\n",
"MIT License
\n",
"Permission is hereby granted, free of charge, to any person obtaining a copy\n",
"of this software and associated documentation files (the \"Software\"), to deal\n",
"in the Software without restriction, including without limitation the rights\n",
"to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n",
"copies of the Software, and to permit persons to whom the Software is\n",
"furnished to do so, subject to the following conditions:\n",
"\n",
"The above copyright notice and this permission notice shall be included in\n",
"all copies or substantial portions of the Software.\n",
"\n",
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n",
"IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n",
"FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n",
"AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n",
"LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n",
"OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n",
"THE SOFTWARE.\n",
" "
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as pt"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"def rk4_step(y, t, h, f):\n",
" k1 = f(t, y)\n",
" k2 = f(t+h/2, y + h/2*k1)\n",
" k3 = f(t+h/2, y + h/2*k2)\n",
" k4 = f(t+h, y + h*k3)\n",
" return y + h/6*(k1 + 2*k2 + 2*k3 + k4)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Want to solve:\n",
"\n",
"$$w''(t)=\\frac 32w^2$$\n",
"\n",
"with $w(0)=4$ and $w(1)=1$. (Example due to Stoer and Bulirsch)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"def f(t, y):\n",
" w, w_prime = y\n",
" return np.array([w_prime, 3/2*w**2])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The following function carries out the shooting method for a given $w'(0)$ using RK4:"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": [
"def shoot(w_prime):\n",
" times = [0]\n",
" y_values = [np.array([4, w_prime])]\n",
" \n",
" h = 1/2**7\n",
" t_end = 1\n",
" \n",
" while times[-1] < t_end:\n",
" y_values.append(rk4_step(y_values[-1], times[-1], h, f))\n",
" times.append(times[-1]+h)\n",
" \n",
" y_values = np.array(y_values)\n",
" \n",
" # actually floating-point-equal due to power-of-2 h\n",
" assert times[-1] == t_end\n",
" \n",
" print(\"w'(0) = %g -> w(1)= %.5g\" % (w_prime, y_values[-1,0]))\n",
"\n",
" pt.plot(times, y_values[:, 0], label=\"$w'(0)=%.2g$\" % w_prime)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Call `shoot` to see if you can solve the boundary value problem.\n",
"\n",
"Start with $w'(0)=0$.\n",
"\n",
"(You may call `pt.legend` to take advantage of automatic labeling.)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"w'(0) = 0 -> w(1)= 87.08\n",
"w'(0) = -5 -> w(1)= 12.058\n",
"w'(0) = -7 -> w(1)= 3.6442\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"shoot(0)\n",
"shoot(-5)\n",
"shoot(-7)\n",
"\n",
"pt.grid()\n",
"pt.legend(loc=\"best\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"See if you can find another solution to the boundary value problem by starting with $w'(0)=-30$.\n",
"\n",
"(You may call `pt.legend` to take advantage of automatic labeling.)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"w'(0) = -30 -> w(1)= -1.4668\n",
"w'(0) = -33 -> w(1)= -0.22938\n",
"w'(0) = -36 -> w(1)= 1.062\n"
]
},
{
"data": {
"text/plain": [
""
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"\n",
"shoot(-30)\n",
"shoot(-33)\n",
"shoot(-36)\n",
"\n",
"pt.grid()\n",
"pt.legend(loc=\"best\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": false,
"jupyter": {
"outputs_hidden": false
}
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}