91 lines
20 KiB
Plaintext
91 lines
20 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"\n",
|
|
"# Integrating a simple ODE\n",
|
|
"\n",
|
|
"Solve the ODE dy/dt = -2y between t = 0..4, with the initial condition\n",
|
|
"y(t=0) = 1.\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"collapsed": false,
|
|
"jupyter": {
|
|
"outputs_hidden": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 400x300 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"import numpy as np\n",
|
|
"import scipy as sp\n",
|
|
"import matplotlib.pyplot as plt\n",
|
|
"\n",
|
|
"\n",
|
|
"def f(t, y):\n",
|
|
" return -2 * y\n",
|
|
"\n",
|
|
"\n",
|
|
"t_span = (0, 4) # time interval\n",
|
|
"t_eval = np.linspace(*t_span) # times at which to evaluate `y`\n",
|
|
"y0 = [\n",
|
|
" 1,\n",
|
|
"] # initial state\n",
|
|
"res = sp.integrate.solve_ivp(f, t_span=t_span, y0=y0, t_eval=t_eval)\n",
|
|
"\n",
|
|
"plt.figure(figsize=(4, 3))\n",
|
|
"plt.plot(res.t, res.y[0])\n",
|
|
"plt.xlabel(\"t\")\n",
|
|
"plt.ylabel(\"y\")\n",
|
|
"plt.title(\"Solution of Initial Value Problem\")\n",
|
|
"plt.tight_layout()\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"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.12.11"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|