2024-heraklion-testing-debu.../material/logistic_map_plots.ipynb

218 lines
217 KiB
Plaintext
Raw Normal View History

2024-08-26 13:54:13 +02:00
{
"cells": [
{
"cell_type": "code",
"execution_count": 13,
"id": "fecaca5d",
"metadata": {},
"outputs": [],
"source": [
"%matplotlib inline\n",
"\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"def plot_style(figsize=(12, 6), labelsize=20, titlesize=24, ticklabelsize=14, **kwargs):\n",
" basic_style = {\n",
" 'figure.figsize': figsize,\n",
" 'axes.labelsize': labelsize,\n",
" 'axes.titlesize': titlesize,\n",
" 'xtick.labelsize': ticklabelsize,\n",
" 'ytick.labelsize': ticklabelsize,\n",
" }\n",
" basic_style.update(kwargs)\n",
" return plt.rc_context(rc=basic_style)\n"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "21292898",
"metadata": {},
"outputs": [],
"source": [
"def logistic_map(x, r):\n",
" return r * x * (1 - x)\n",
"\n",
"def iterate_map(x0, r, n):\n",
" xs = [x0]\n",
" for _ in range(n):\n",
" x_np1 = logistic_map(xs[-1], r)\n",
" xs.append(x_np1)\n",
" return xs"
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "c2de665f",
"metadata": {},
"outputs": [],
"source": [
"x = np.linspace(0, 1, 100)\n",
"r = 1.5\n",
"f_x = logistic_map(x, r)"
]
},
{
"cell_type": "code",
"execution_count": 44,
"id": "e4f218ce",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 500x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"with plot_style(figsize=(5, 5), titlesize=20):\n",
" plt.plot(x, f_x)\n",
" plt.plot([0, 1], [0, 1], 'r--', lw=1)\n",
" plt.xlim(0, 1)\n",
" plt.ylim(0, 1)\n",
" plt.xlabel('x')\n",
" plt.ylabel('f(x)')\n",
" plt.title(f'r = {r}')"
]
},
{
"cell_type": "code",
"execution_count": 84,
"id": "3b666ffc",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 500x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r = 1.5\n",
"xs_01 = iterate_map(x0=0.1, r=r, n=20)\n",
"xs_03 = iterate_map(x0=0.3, r=r, n=20)\n",
"xs_05 = iterate_map(x0=0.4, r=r, n=20)\n",
"with plot_style(figsize=(5, 5), titlesize=20):\n",
" plt.plot(xs_01, lw=3, label=0.1)\n",
" plt.plot(xs_03, lw=3, label=0.3)\n",
" plt.plot(xs_05, lw=3, label=0.5)\n",
" plt.ylim(0, 1)\n",
" plt.xticks([0, 5, 10, 15, 20])\n",
" plt.xlabel('iteration')\n",
" plt.ylabel('x')\n",
" plt.title(f'r = {r}')\n",
" plt.legend(title='$x_0$ value', fontsize=14, title_fontsize=16, frameon=False)"
]
},
{
"cell_type": "code",
"execution_count": 85,
"id": "782fd773",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 500x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r = 3.2\n",
"xs_01 = iterate_map(x0=0.1, r=r, n=20)\n",
"xs_03 = iterate_map(x0=0.3, r=r, n=20)\n",
"xs_05 = iterate_map(x0=0.4, r=r, n=20)\n",
"with plot_style(figsize=(5, 5), titlesize=20):\n",
" plt.plot(xs_01, lw=3, label=0.1)\n",
" plt.plot(xs_03, lw=3, label=0.3)\n",
" plt.plot(xs_05, lw=3, label=0.5)\n",
" plt.ylim(0, 1)\n",
" plt.xticks([0, 5, 10, 15, 20])\n",
" plt.xlabel('iteration')\n",
" plt.ylabel('x')\n",
" plt.title(f'r = {r}')\n",
" plt.legend(title='$x_0$ value', fontsize=14, title_fontsize=16, frameon=False)"
]
},
{
"cell_type": "code",
"execution_count": 86,
"id": "dd04eb9b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 500x500 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"r = 3.9\n",
"xs_01 = iterate_map(x0=0.1, r=r, n=20)\n",
"xs_03 = iterate_map(x0=0.3, r=r, n=20)\n",
"xs_05 = iterate_map(x0=0.4, r=r, n=20)\n",
"with plot_style(figsize=(5, 5), titlesize=20):\n",
" plt.plot(xs_01, lw=3, label=0.1)\n",
" plt.plot(xs_03, lw=3, label=0.3)\n",
" plt.plot(xs_05, lw=3, label=0.5)\n",
" plt.ylim(0, 1)\n",
" plt.xticks([0, 5, 10, 15, 20])\n",
" plt.xlabel('iteration')\n",
" plt.ylabel('x')\n",
" plt.title(f'r = {r}')\n",
" plt.legend(title='$x_0$ value', fontsize=14, title_fontsize=16, frameon=False)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "78d8e347",
"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.11.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}