Add jupiter notebook for results' visualization

This commit is contained in:
ParkSuMin committed 2025-09-23 15:05:28 +02:00
1 parent 2ac0141c60
commit 6d5ce32ca3
1 file changed
+89
+89
View File
@@ -0,0 +1,89 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 22,
"id": "18bd929b",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"N = 20\n",
"x = np.linspace(0, 10, N + 1)\n",
"with open(\"matrix_linear.txt\", 'r') as file:\n",
" data_str = file.read()\n",
"y = np.fromstring(data_str, sep=' ')\n",
"plt.plot(x, y, label=\"Linear element solution\", color='red')\n",
"plt.title(\"Linear element\")\n",
"plt.grid(True)\n",
"plt.legend()\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "73525bc7",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"N = 20\n",
"x = np.linspace(0, 10, 3 * N + 1)\n",
"with open(\"matrix_cubic.txt\", 'r') as file:\n",
" data_str = file.read()\n",
"y = np.fromstring(data_str, sep=' ')\n",
"plt.plot(x, y, label=\"Cubic element solution\")\n",
"plt.title(\"Cubic element\")\n",
"plt.grid(True)\n",
"\n",
"\n",
"plt.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": ".venv",
"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.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}