From 4cff710e0feb50493fb3e37f238d179158f46e92 Mon Sep 17 00:00:00 2001 From: Yeongdo Park Date: Tue, 22 Nov 2022 07:46:38 +0900 Subject: [PATCH] added oven index to coke_charge --- CokeOvenServiceSimulator.ipynb | 249 +++++++++++++++++++++------------ 1 file changed, 161 insertions(+), 88 deletions(-) diff --git a/CokeOvenServiceSimulator.ipynb b/CokeOvenServiceSimulator.ipynb index 887a8bd..d9a93f5 100644 --- a/CokeOvenServiceSimulator.ipynb +++ b/CokeOvenServiceSimulator.ipynb @@ -7,6 +7,8 @@ "metadata": {}, "outputs": [], "source": [ + "import numpy as np\n", + "\n", "from matplotlib import pyplot as plt\n", "%matplotlib widget" ] @@ -38,6 +40,11 @@ " self.processing = []\n", " self.product = []\n", " self.T0 = T_combustion_0\n", + " self.sequence_idx = 0\n", + " \n", + " # For 1~4 Coke Ovens with n+5 PC sequence\n", + " start_indices = [1, 3, 5, 2, 4]\n", + " self.oven_idx_order = np.concatenate([np.array(range(i0 - 1, self.size, 5)) for i0 in start_indices])\n", "\n", " normal_period = self.charge_program.period(-1)\n", " \n", @@ -47,12 +54,17 @@ " for i in range(self.size * 2):\n", " \"\"\" Fill battety with normal charge\"\"\"\n", " self.update(normal_period / 2.)\n", - " \n", + "\n", + " def next_oven (self):\n", + " next_oven_id = self.oven_idx_order[self.sequence_idx % self.size]\n", + " self.sequence_idx += 1\n", + " return next_oven_id\n", + "\n", " def bake (self, dt):\n", " dQ = self.dQ(dt)\n", " for cc in self.processing:\n", " cc.bake(dQ)\n", - " \n", + "\n", " def push_and_charge (self, coke_charge):\n", " if len(self.processing) >= self.size:\n", " self.push()\n", @@ -82,7 +94,7 @@ " else:\n", " self.t_last = self.t\n", " \n", - " self.push_and_charge(CokeCharge(self.t_last, self.))\n", + " self.push_and_charge(CokeCharge(self.t_last, self.next_oven()))\n", " self.t += dt\n", " \n", "\n", @@ -101,6 +113,14 @@ " self.t_push = t\n" ] }, + { + "cell_type": "markdown", + "id": "5dde8174", + "metadata": {}, + "source": [ + "## 엑셀 매크로 결과 정수 감급 계획" + ] + }, { "cell_type": "code", "execution_count": 3, @@ -108,8 +128,6 @@ "metadata": {}, "outputs": [], "source": [ - "import numpy as np\n", - "\n", "sample_program = np.array('''\\\n", "-3\t81\n", "0\t81\n", @@ -148,6 +166,14 @@ "'''.split(), dtype=np.double).reshape((-1,2))" ] }, + { + "cell_type": "markdown", + "id": "a2665c72", + "metadata": {}, + "source": [ + "## 이전 정수 계획 중 가져옴" + ] + }, { "cell_type": "code", "execution_count": 4, @@ -212,7 +238,7 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, "execution_count": 5, @@ -222,18 +248,18 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "c35cc72fb85446a289a617eb2e40d9f8", + "model_id": "6ff3705eb05d48289039ee2d15e4937c", "version_major": 2, "version_minor": 0 }, - "image/png": "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hoYGnT59WrNmzdJHH33kPZPL4xs1apQefvhh7d69W7t379aXv/xl3Xbbbd4PmlweW39NTU3atGmTrr766oTruT6+CRMmqLW11fvs37/fu5frYzt+/LhuuukmDRo0SM8++6wOHjyoH/7whwnNgFweY1NTU8KfXUNDgyRp/vz5knJ7bL5h4NyWLVtMSUlJyvVf/epXJhwOm3fffde79rOf/cxEIhHT0dGRwQo/uRtuuMHcc889Cdeuuuoq853vfMdRRQNDknnyySe9f4/FYiYajZqHH37Yu3bq1ClTUlJiHn30UQcVfjbt7e1GkmlsbDTG+G98xhgzbNgw80//9E++GVtXV5eprKw0DQ0NZvr06eb+++83xuT+n93q1avNNddck/Zero/NGGMeeOABc/PNN5/zvh/G2N/9999vxo0bZ2KxmO/GlqvoAGaxV199VVVVVSovL/euffWrX1V3d3fCNEG26enp0Z49ezRr1qyE67NmzdLOnTsdVWVHS0uL2traEsYaiUQ0ffr0nBxrR0eHJGn48OGS/DW+3t5ebd++XR999JGmTZvmm7EtXbpUc+bM0Ve+8pWE634Y3+HDh1VeXq6KigrdfvvtOnLkiCR/jO3pp5/WlClTNH/+fI0cOVLXXXedNm/e7N33wxjjenp6tHXrVi1evFihUMhXY8tlBMAs1tbWptLS0oRrw4YN0+DBg9XW1uaoqgt7//331dvbm1J7aWlpVtf9acTH44exGmP0V3/1V7r55ptVVVUlyR/j279/vy655BJFIhHdc889evLJJzV+/HhfjG379u3as2eP6urqUu7l+vimTp2qxx9/XM8//7w2b96strY2VVdX63e/+13Oj02Sjhw5oo0bN6qyslLPP/+87rnnHt133316/PHHJeX+n19/Tz31lD788EN961vfkuSvseWyfNcF+E1NTY3WrFlz3meampo0ZcqUi/p+oVAo5ZoxJu31bJNcY67U/Wn4YazLli3TG2+8oVdeeSXlXi6P7wtf+IL27dunDz/8UL/4xS+0aNEiNTY2evdzdWzHjh3T/fffrx07dqigoOCcz+Xq+GbPnu39euLEiZo2bZrGjRun+vp63XjjjZJyd2ySFIvFNGXKFNXW1kqSrrvuOjU3N2vjxo266667vOdyeYxxjz32mGbPnp0wmyX5Y2y5jA7gAFu2bJnefPPN837i3ZULiUajKf81dPz4cX388ccp/+WUTS677DLl5eWl1N7e3p7VdX8a8VWJuT7Wv/iLv9DTTz+tl156SaNGjfKu+2F8gwcP1uc+9zlNmTJFdXV1uuaaa/QP//APOT+2PXv2qL29XZMnT1Z+fr7y8/PV2NioH/3oR8rPz/fGkKvjSzZkyBBNnDhRhw8fzvk/O0kqKyvT+PHjE6598Ytf9BbK+WGMknT06FG98MIL+rM/+zPvml/GlusIgAPssssu01VXXXXez/n+a72/adOm6cCBA2ptbfWu7dixQ5FIRJMnT7Y1hM9s8ODBmjx5srfqK66hoUHV1dWOqrKjoqJC0Wg0Yaw9PT1qbGzMibEaY7Rs2TI98cQTevHFF1VRUZFwP9fHl44xRt3d3Tk/tltuuUX79+/Xvn37vM+UKVN05513at++fbryyitzenzJuru79eabb6qsrCzn/+wk6aabbkrZcumtt97SmDFjJPnnf3tbtmzRyJEjNWfOHO+aX8aW89ysPYExxhw9etTs3bvXrFmzxlxyySVm7969Zu/evaarq8sYY8zp06dNVVWVueWWW8zrr79uXnjhBTNq1CizbNkyx5Vf2Pbt282gQYPMY489Zg4ePGiWL19uhgwZYt5++23XpX1iXV1d3p+NJLNu3Tqzd+9ec/ToUWOMMQ8//LApKSkxTzzxhNm/f7+54447TFlZmens7HRc+YXde++9pqSkxPz61782ra2t3ufEiRPeM7k8vpUrV5qXX37ZtLS0mDfeeMN897vfNeFw2OzYscMYk9tjS6f/KmBjcnt83/72t82vf/1rc+TIEfPaa6+Zr3/966a4uNj7/yG5PDZjjNm1a5fJz883Dz30kDl8+LD56U9/aoqKiszWrVu9Z3J9jL29veaKK64wDzzwQMq9XB+bHxAAHVq0aJGRlPJ56aWXvGeOHj1q5syZYwoLC83w4cPNsmXLzKlTp9wV/Qn84z/+oxkzZowZPHiwmTRpkre1SK556aWX0v45LVq0yBhzZruG1atXm2g0aiKRiPnSl75k9u/f77boi5RuXJLMli1bvGdyeXyLFy/2/g5efvnl5pZbbvHCnzG5PbZ0kgNgLo/vm9/8pikrKzODBg0y5eXlZt68eaa5udm7n8tji3vmmWdMVVWViUQi5qqrrjKbNm1KuJ/rY3z++eeNJHPo0KGUe7k+Nj8IGWNMpruOAAAAcId3AAEAAAKGAAgAABAwBEAAAICAIQACAAAEDAEQAAAgYAiAAAAAAUMABAAACBgCIAAAQMAQAAEAAAKGAAgAABAwBEAAAICAIQACAAAEDAEQAAAgYAiAAAAAAUMABAAACBgCIAAAQMAQAAEAAAKGAAgAABAwBEAAAICAIQACAAAEDAEQAAAgYAiAAAAAAUMABAAACBgCIAAAQMAQAAEAAAKGAAgAABAwBEAAAICAIQACAAAEDAEQAAAgYAiAAAAAAUMABAAACJj/Dw2+ZCEz9Rq2AAAAAElFTkSuQmCC", + "image/png": "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", "text/html": [ "\n", "
\n", "
\n", " Figure\n", "
\n", - " \n", + " \n", "
\n", " " ], @@ -246,7 +272,7 @@ } ], "source": [ - "sample_time = np.linspace(-9, 72, 1000) * 60\n", + "sample_time = np.linspace(-9, 72, 1000)\n", "plt.figure()\n", "plt.plot(sample_time / 60., np.interp(sample_time, *sample_program.T), '-o')" ] @@ -260,7 +286,7 @@ { "data": { "text/plain": [ - "[]" + "[]" ] }, "execution_count": 6, @@ -270,7 +296,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "6818908e9143471298fb95dbc493e841", + "model_id": "f951bd173b254c78a5a3e189a31b8110", "version_major": 2, "version_minor": 0 }, @@ -302,6 +328,53 @@ { "cell_type": "code", "execution_count": 7, + "id": "55d32e63", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "4239ffd6fafc452eb9602ce6cd2ae705", + "version_major": 2, + "version_minor": 0 + }, + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAkbUlEQVR4nO3df2xd9X34/9fBv7BTJ02BxLbITMqSUUigGWb5wbrwI+RDPoA6Uhi/qoYioWakKylDdIHui+kiG5CIMkQHSlZliQYLQoMKjQ/KD9G4m4AtsUCNUkSzJQS34FnwCXEgrp055/MH4n5xk0B+Xd/4vh8P6UjxOeeal9927n1yju1keZ7nAQBAMk4p9QAAAAwvAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkJjKUg8wkh04cCDeeeedqK+vjyzLSj0OAHAE8jyPvXv3RlNTU5xySprXwgTgcXjnnXdiwoQJpR4DADgGXV1dceaZZ5Z6jJIQgMehvr4+Ij7+Aho9enSJpwEAjkRvb29MmDCh8DqeIgF4HD657Tt69GgBCAAjTMrfvpXmjW8AgIQJQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxPi3gE9CeZ5H3/7BUo9RUFtVkfS/lwjFdOBAHv9330CpxzhiHz8fHP54nsdJ9fz1pbrqOOUUz1+fONleX46E16DiEIAnob79g3Hu/7eu1GMUtDSPjWcWzvQXEE6wAwfy+PK9/6fUY5S9HW3/WwTGx/F33ROvROeu3aUe5aj88kf/K+qq5cqJ5hYwn2vLrt0j7v8YARiqb//giIs/ikdSn4Rqqyrilz/6X6UeI/YNDEbL0o2lHgPK1imnZLGj7X+PiFvAfQOD8bWHfxYREVt+OCfqqisOOufTzxn/es+lUXuIc4abW8CHdrjP4cmotmpkzDnSCMCTUJZlLndDIk45JYvTv1BT6jE+176B/yn8ua664nOfo077QrXnsZPYkXwOKW9uAQMAJEYAAgAkRgACACRGAAIAJEYAAgAkRgACACRGAAIAJEYAAgAkRgACACRGAAIAJEYAAgAkRgACACRGAAIAJEYAAgAkRgACACRGAAIAJEYAAgAkRgACACRGAAIAJEYAAgAkRgACACRGAAIAJEYAAgAkRgACACSmbAPwrLPOiizLDtoWLVoUERF5nkdra2s0NTVFbW1tXHLJJbFt27YSTw0AUHxlG4CbN2+Od999t7Bt2LAhIiKuv/76iIh4+OGHY9myZfHYY4/F5s2bo6GhIa644orYu3dvKccGACi6sg3AM844IxoaGgrbv/zLv8TZZ58ds2fPjjzPY/ny5XHffffF/PnzY8qUKbF69erYt29fPPXUU6UeHQCgqMo2AD9tYGAg/vEf/zFuu+22yLIsdu7cGd3d3TF37tzCOTU1NTF79ux4+eWXD/t++vv7o7e3d8gGADDSJBGAP/3pT+ODDz6IW2+9NSIiuru7IyJi/PjxQ84bP3584dihtLe3x5gxYwrbhAkTijYzAECxJBGAP/nJT2LevHnR1NQ0ZH+WZUPezvP8oH2ftmTJktizZ09h6+rqKsq8AADFVFnqAYpt165dsXHjxnj22WcL+xoaGiLi4yuBjY2Nhf09PT0HXRX8tJqamqipqSnesAAAw6DsrwCuWrUqxo0bF1dddVVh38SJE6OhoaHwk8ERH3+fYEdHR8yaNasUYwIADJuyvgJ44MCBWLVqVSxYsCAqK///DzXLsli8eHG0tbXFpEmTYtKkSdHW1hZ1dXVx8803l3BiAIDiK+sA3LhxY7z99ttx2223HXTsnnvuib6+vrjjjjti9+7dMX369Fi/fn3U19eXYFIAgOFT1gE4d+7cyPP8kMeyLIvW1tZobW0d3qEAAEqs7L8HEACAoQQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYipLPQAAI8u+gcGj2k9x5Xkeffs/f+19fvg0AQjAUWlZuvFzz8nzYRiEyPM8rnvilejctbvUozDCuAUMwOeqraqIluaxR3z+kVyR4vj17R886vhraR4btVUVRZqIkcIVQAA+V5Zl8czCmZ8Zdu9/OBBfe/hnwzgVn7blh3Oirvrzw662qiKyLBuGiTiZCUAAjkiWZVFXffiXjX3VrvqVUl11xWd+fuDT3AIGAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjF8ZzhHZN3Dkv+HfPzMEwyvP85Pi397tO4rnCaC0BCBHpGXpxiM/t3lsPLNwpgiEYZDneVz3xCvRuWt3qUcBRhC3gDms2qqKaGkee9SP27Jr90lxNQJS0Ld/8KSMv9qqilKPAHwGVwA5rCzL4pmFM4845vYNDB7VlULgxNrywzlRV1268Pr0c4AbAHByE4B8pizLoq7alwmMBHXVFf6+AkfELWAAgMQIQACAxAhAAIDECEAAgMQIQACAxJR1AP7mN7+Jb37zm3HaaadFXV1dfPWrX43Ozs7C8VtvvTWyLBuyzZgxo4QTAwAUX9n+voDdu3fHxRdfHJdeemm8+OKLMW7cuPiv//qv+OIXvzjkvCuvvDJWrVpVeLu6unqYJwUAGF5lG4APPfRQTJgwYUjcnXXWWQedV1NTEw0NDcM4GQBAaZXtLeDnn38+Wlpa4vrrr49x48bFtGnTYuXKlQedt2nTphg3blxMnjw5br/99ujp6Tns++zv74/e3t4hGwDASFO2Abhjx454/PHHY9KkSbFu3bpYuHBhfO9734s1a9YUzpk3b148+eST8dJLL8UjjzwSmzdvjssuuyz6+/sP+T7b29tjzJgxhW3ChAnD9eEAAJwwZXsL+MCBA9HS0hJtbW0RETFt2rTYtm1bPP744/Gtb30rIiJuuOGGwvlTpkyJlpaWaG5ujhdeeCHmz59/0PtcsmRJ3HXXXYW3e3t7RSAAMOKU7RXAxsbGOPfcc4fs+8pXvhJvv/32Zz6mubk5tm/ffsjjNTU1MXr06CEbAMBIU7YBePHFF8ebb745ZN+vfvWraG5uPuxj3n///ejq6orGxsZijwcAUDJlG4Df//7349VXX422trb4z//8z3jqqadixYoVsWjRooiI+PDDD+Puu++OV155Jd56663YtGlTXHPNNXH66afHtddeW+LpAQCKp2wD8KKLLornnnsu/umf/immTJkSf/M3fxPLly+PW265JSIiKioqYuvWrfH1r389Jk+eHAsWLIjJkyfHK6+8EvX19SWeHgCgeMr2h0AiIq6++uq4+uqrD3mstrY21q1bN8wTAQCUXtleAQQA4NAEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIqSz0AAOVn38DgZx6vraqILMuGaZqTX57n0bf/s9fsUD5vneFwBCAAJ1zL0o2ffbx5bDyzcKYIjI/j77onXonOXbtLPQoJcQsYgBOitqoiWprHHtG5W3btPqYrXuWob//gccdfS/PYqK2qOEETkQJXAAE4IbIsi2cWzvzMsNs3MPi5VwdTtuWHc6Ku+uhDzi11jpYABOCEybIs6qq9tByruuoK68ewcAsYACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxZR2Av/nNb+Kb3/xmnHbaaVFXVxdf/epXo7Ozs3A8z/NobW2NpqamqK2tjUsuuSS2bdtWwokBAIqvbANw9+7dcfHFF0dVVVW8+OKL8ctf/jIeeeSR+OIXv1g45+GHH45ly5bFY489Fps3b46Ghoa44oorYu/evaUbHACgyCpLPUCxPPTQQzFhwoRYtWpVYd9ZZ51V+HOe57F8+fK47777Yv78+RERsXr16hg/fnw89dRT8Z3vfGe4RwYAGBZlewXw+eefj5aWlrj++utj3LhxMW3atFi5cmXh+M6dO6O7uzvmzp1b2FdTUxOzZ8+Ol19+uRQjAwAMi7INwB07dsTjjz8ekyZNinXr1sXChQvje9/7XqxZsyYiIrq7uyMiYvz48UMeN378+MKx39Xf3x+9vb1DNgCAkaZsbwEfOHAgWlpaoq2tLSIipk2bFtu2bYvHH388vvWtbxXOy7JsyOPyPD9o3yfa29vjgQceKN7QAADDoGyvADY2Nsa55547ZN9XvvKVePvttyMioqGhISLioKt9PT09B10V/MSSJUtiz549ha2rq6sIkwMAFFfZXgG8+OKL48033xyy71e/+lU0NzdHRMTEiROjoaEhNmzYENOmTYuIiIGBgejo6IiHHnrokO+zpqYmampqijt4mdg3MHjUj6mtqjjs1Vc4GeV5Hn37j/5r/UQ6lr9rAGUbgN///vdj1qxZ0dbWFn/2Z38W//Ef/xErVqyIFStWRMTHt34XL14cbW1tMWnSpJg0aVK0tbVFXV1d3HzzzSWefuRrWbrx6B/TPDaeWThTBDIi5Hke1z3xSnTu2l3qUQCOWtkG4EUXXRTPPfdcLFmyJH70ox/FxIkTY/ny5XHLLbcUzrnnnnuir68v7rjjjti9e3dMnz491q9fH/X19SWcfOSqraqIluaxseUYXxC37NodffsHo666bL8sKSN9+wdPqvhraR4btVUVpR4DGCHK+pX26quvjquvvvqwx7Msi9bW1mhtbR2+ocpYlmXxzMKZR31LbN/A4DFdMYSTxZYfzom66tLGl2+hAI5GWQcgwy/LMlfwSE5ddYWve2BEKdufAgYA4NAEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYipLPQAAado3MHhE59VWVUSWZUWe5ujkeR59+49s/s9zpOsAJ5IABKAkWpZuPLLzmsfGMwtnnjQRmOd5XPfEK9G5a3epR4Fj5hYwAMOmtqoiWprHHtVjtuzafcKutp0IffsHixJ/Lc1jo7aq4oS/XzgUVwABGDZZlsUzC2ceUdDtGxg84quEpbLlh3OirvrERNvJeKub8iUAARhWWZZFXXV5vPzUVVeUzcdCWtwCBgBIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASEzZBmBra2tkWTZka2hoKBy/9dZbDzo+Y8aMEk4MADA8Kks9QDGdd955sXHjxsLbFRUVQ45feeWVsWrVqsLb1dXVwzYbAECplHUAVlZWDrnq97tqamo+8zgAQDkq21vAERHbt2+PpqammDhxYtx4442xY8eOIcc3bdoU48aNi8mTJ8ftt98ePT09n/n++vv7o7e3d8gGADDSlG0ATp8+PdasWRPr1q2LlStXRnd3d8yaNSvef//9iIiYN29ePPnkk/HSSy/FI488Eps3b47LLrss+vv7D/s+29vbY8yYMYVtwoQJw/XhAACcMGV7C3jevHmFP0+dOjVmzpwZZ599dqxevTruuuuuuOGGGwrHp0yZEi0tLdHc3BwvvPBCzJ8//5Dvc8mSJXHXXXcV3u7t7RWBAMCIU7YB+LtGjRoVU6dOje3btx/yeGNjYzQ3Nx/2eMTH3zNYU1NTrBEBAIZF2d4C/l39/f3xxhtvRGNj4yGPv//++9HV1XXY4wAA5aJsA/Duu++Ojo6O2LlzZ/z7v/97XHfdddHb2xsLFiyIDz/8MO6+++545ZVX4q233opNmzbFNddcE6effnpce+21pR4dAKCoyvYW8K9//eu46aab4r333oszzjgjZsyYEa+++mo0NzdHX19fbN26NdasWRMffPBBNDY2xqWXXhpPP/101NfXl3p0AICiKtsAXLt27WGP1dbWxrp164ZxGgCAk0fZ3gIGAODQBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiBCAAQGIEIABAYgQgAEBiKks9AAB8nn0Dg6UeoeBkmgWOlQDkpPJ5T6y1VRWRZdkwTcPJKM/z6Ntf+hdgETC8WpZuLPUIUFYEICeVz3uSb2keG88snCkCE5XneVz3xCvRuWt3qUdhGNRWVURL89jYcpJ+vluax0ZtVUWpx4BjIgApuaN5kt+ya3f07R+Mumpfuinq2z940sWfCCieLMvimYUzT4orvofijgQjmVdRSu5InuT3DQy6BcQQW344J+qqSx9eIqC4sizzP3xQBP5WcVLwJM/Rqquu8DUDcIz8GhgAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDECEAAgMQIQACAxAhAAIDElG0Atra2RpZlQ7aGhobC8TzPo7W1NZqamqK2tjYuueSS2LZtWwknBgAYHmUbgBER5513Xrz77ruFbevWrYVjDz/8cCxbtiwee+yx2Lx5czQ0NMQVV1wRe/fuLeHEAADFV9YBWFlZGQ0NDYXtjDPOiIiPr/4tX7487rvvvpg/f35MmTIlVq9eHfv27YunnnqqxFMDABRXWQfg9u3bo6mpKSZOnBg33nhj7NixIyIidu7cGd3d3TF37tzCuTU1NTF79ux4+eWXD/v++vv7o7e3d8gGADDSlG0ATp8+PdasWRPr1q2LlStXRnd3d8yaNSvef//96O7ujoiI8ePHD3nM+PHjC8cOpb29PcaMGVPYJkyYUNSPAQCgGMo2AOfNmxff+MY3YurUqTFnzpx44YUXIiJi9erVhXOyLBvymDzPD9r3aUuWLIk9e/YUtq6uruIMDwBQRGUbgL9r1KhRMXXq1Ni+fXvhp4F/92pfT0/PQVcFP62mpiZGjx49ZAMAGGmSCcD+/v544403orGxMSZOnBgNDQ2xYcOGwvGBgYHo6OiIWbNmlXBKAIDiqyz1AMVy9913xzXXXBO/93u/Fz09PbF06dLo7e2NBQsWRJZlsXjx4mhra4tJkybFpEmToq2tLerq6uLmm28u9egAAEVVtgH461//Om666aZ477334owzzogZM2bEq6++Gs3NzRERcc8990RfX1/ccccdsXv37pg+fXqsX78+6uvrSzw5AEBxlW0Arl279jOPZ1kWra2t0draOjwDAQCcJJL5HkAAAD4mAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABJTWeoB4GjtGxg8ovNqqyoiy7IiT8Oh5HkeffuP7PN0NI70cw/AZxOAjDgtSzce2XnNY+OZhTNF4DDL8zyue+KV6Ny1u9SjAHAYbgEzItRWVURL89ijesyWXbuLchWKz9a3f7Do8dfSPDZqqyqK+t8AKGeuADIiZFkWzyyceURBt29g8IivElJcW344J+qqT3youb0PcHwEICNGlmVRV+1LdiSpq67wOQM4CbkFDACQGAEIAJAYAQgAkBgBCACQGAEIAJAYAQgAkBgBCACQmCQCsL29PbIsi8WLFxf23XrrrZFl2ZBtxowZpRsSAGCYlP1vaN28eXOsWLEizj///IOOXXnllbFq1arC29XV1cM5GgBASZT1FcAPP/wwbrnllli5cmWMHXvwvyNbU1MTDQ0Nhe1LX/pSCaYEABheZR2AixYtiquuuirmzJlzyOObNm2KcePGxeTJk+P222+Pnp6e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tWtXnud5/uCDD+ZjxozJn3322Xzr1q35TTfdlDc2Nua9vb0lnvzk9ud//uf5mDFj8k2bNuXvvvtuYdu3b1/hHGt7bJYsWZL//Oc/z3fu3Jn/4he/yO+99978lFNOydevX5/nuXU9kT79U8B5bm2P1V/+5V/mmzZtynfs2JG/+uqr+dVXX53X19cXXq+sa+kIwBHqxz/+cd7c3JxXV1fnf/iHf1j4FRscuZ/97Gd5RBy0LViwIM/zj39Fwf333583NDTkNTU1+Z/8yZ/kW7duLe3QI8Ch1jQi8lWrVhXOsbbH5rbbbiv8vT/jjDPyyy+/vBB/eW5dT6TfDUBre2xuuOGGvLGxMa+qqsqbmpry+fPn59u2bSsct66lk+V5npfm2iMAAKXgewABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABIjAAEAEiMAAQASIwABABLz/wBZXbA/giiqrwAAAABJRU5ErkJggg==", + "text/html": [ + "\n", + "
\n", + "
\n", + " Figure\n", + "
\n", + " \n", + "
\n", + " " + ], + "text/plain": [ + "Canvas(toolbar=Toolbar(toolitems=[('Home', 'Reset original view', 'home', 'home'), ('Back', 'Back to previous …" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure()\n", + "plt.plot(*example_program)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, "id": "37299004", "metadata": {}, "outputs": [], @@ -319,7 +392,7 @@ }, { "cell_type": "code", - "execution_count": 8, + "execution_count": 9, "id": "1322ad78", "metadata": {}, "outputs": [], @@ -342,7 +415,7 @@ }, { "cell_type": "code", - "execution_count": 9, + "execution_count": 10, "id": "69ab56fc", "metadata": {}, "outputs": [], @@ -353,7 +426,7 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 11, "id": "6d6eac92", "metadata": {}, "outputs": [], @@ -363,24 +436,24 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 12, "id": "e742dad8", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "[]" + "[]" ] }, - "execution_count": 11, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "48707ff799f947d3a7885e03af2728f5", + "model_id": "482749e8c19746d3bdb96722fb4399ca", "version_major": 2, "version_minor": 0 }, @@ -411,7 +484,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 13, "id": "235b5f6e", "metadata": {}, "outputs": [ @@ -562,7 +635,7 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 14, "id": "99d40063", "metadata": {}, "outputs": [ @@ -650,13 +723,7 @@ "Push timing within this time step. 0.30370370370285116 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.3074074074065365 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.3111111111102218 since last P/C. P/C interval = 0.2962962962962963\n", - "Push timing within this time step. 0.29814814814724144 since last P/C. P/C interval = 0.2962962962962963\n" - ] - }, - { - "name": "stdout", - "output_type": "stream", - "text": [ + "Push timing within this time step. 0.29814814814724144 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.3018518518509268 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.3055555555546121 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.30925925925829745 since last P/C. P/C interval = 0.2962962962962963\n", @@ -670,7 +737,13 @@ "Push timing within this time step. 0.3055555555544487 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.309259259258134 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.31296296296181936 since last P/C. P/C interval = 0.2962962962962963\n", - "Push timing within this time step. 0.299999999998839 since last P/C. P/C interval = 0.2962962962962963\n", + "Push timing within this time step. 0.299999999998839 since last P/C. P/C interval = 0.2962962962962963\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ "Push timing within this time step. 2.0703703703690906 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.29999999999998295 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.3037037037036683 since last P/C. P/C interval = 0.2962962962962963\n", @@ -771,15 +844,15 @@ "Push timing within this time step. 0.30555555555388025 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.3092592592575727 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.31296296296126513 since last P/C. P/C interval = 0.2962962962962963\n", - "Push timing within this time step. 0.29999999999829186 since last P/C. P/C interval = 0.2962962962962963\n", - "Push timing within this time step. 0.3037037037019843 since last P/C. P/C interval = 0.2962962962962963\n", - "Push timing within this time step. 0.30740740740567674 since last P/C. P/C interval = 0.2962962962962963\n" + "Push timing within this time step. 0.29999999999829186 since last P/C. P/C interval = 0.2962962962962963\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ + "Push timing within this time step. 0.3037037037019843 since last P/C. P/C interval = 0.2962962962962963\n", + "Push timing within this time step. 0.30740740740567674 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.3111111111093692 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.2981481481463959 since last P/C. P/C interval = 0.2962962962962963\n", "Push timing within this time step. 0.30185185185008834 since last P/C. P/C interval = 0.2962962962962963\n", @@ -843,7 +916,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 15, "id": "a86acbef", "metadata": {}, "outputs": [ @@ -1106,7 +1179,7 @@ }, { "cell_type": "code", - "execution_count": 15, + "execution_count": 16, "id": "1179dfeb", "metadata": {}, "outputs": [ @@ -1131,7 +1204,7 @@ " 62.29 , 67.54 , 67.54 , 73. , 73. ]])" ] }, - "execution_count": 15, + "execution_count": 16, "metadata": {}, "output_type": "execute_result" } @@ -1142,7 +1215,7 @@ }, { "cell_type": "code", - "execution_count": 16, + "execution_count": 17, "id": "3ed23b12", "metadata": { "scrolled": false @@ -1151,7 +1224,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "3a000d6091a64ed1b41b010d5bfa68b7", + "model_id": "8950e306f2b64631be0bdcafc0129056", "version_major": 2, "version_minor": 0 }, @@ -1194,7 +1267,7 @@ }, { "cell_type": "code", - "execution_count": 17, + "execution_count": 18, "id": "4df78f65", "metadata": {}, "outputs": [ @@ -1204,7 +1277,7 @@ "1425.6" ] }, - "execution_count": 17, + "execution_count": 18, "metadata": {}, "output_type": "execute_result" } @@ -1215,7 +1288,7 @@ }, { "cell_type": "code", - "execution_count": 18, + "execution_count": 19, "id": "2065d0c6", "metadata": {}, "outputs": [], @@ -1259,7 +1332,7 @@ }, { "cell_type": "code", - "execution_count": 19, + "execution_count": 20, "id": "315b9960", "metadata": {}, "outputs": [], @@ -1302,24 +1375,24 @@ }, { "cell_type": "code", - "execution_count": 20, + "execution_count": 21, "id": "85cbc85b", "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "" ] }, - "execution_count": 20, + "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "8e511c005c0e4f42add861b4a57c743c", + "model_id": "d8fa9d2349a04bb2a113dc65eaf0640c", "version_major": 2, "version_minor": 0 }, @@ -1352,7 +1425,7 @@ }, { "cell_type": "code", - "execution_count": 21, + "execution_count": 22, "id": "1ea1b3e5", "metadata": {}, "outputs": [], @@ -1368,7 +1441,7 @@ }, { "cell_type": "code", - "execution_count": 22, + "execution_count": 23, "id": "245eff1f", "metadata": {}, "outputs": [], @@ -1400,7 +1473,7 @@ }, { "cell_type": "code", - "execution_count": 23, + "execution_count": 24, "id": "d79e655e", "metadata": {}, "outputs": [ @@ -1419,7 +1492,7 @@ }, { "cell_type": "code", - "execution_count": 24, + "execution_count": 25, "id": "1a04c477", "metadata": {}, "outputs": [ @@ -1429,7 +1502,7 @@ "(5, 3)" ] }, - "execution_count": 24, + "execution_count": 25, "metadata": {}, "output_type": "execute_result" } @@ -1444,7 +1517,7 @@ }, { "cell_type": "code", - "execution_count": 25, + "execution_count": 26, "id": "51040443", "metadata": {}, "outputs": [ @@ -1469,7 +1542,7 @@ }, { "cell_type": "code", - "execution_count": 26, + "execution_count": 27, "id": "37535ff4", "metadata": { "scrolled": false @@ -1478,7 +1551,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "743317202bad481198792b8fe3eea6b0", + "model_id": "eeb5f29cbfc345a79623104061cd0ad5", "version_major": 2, "version_minor": 0 }, @@ -1520,7 +1593,7 @@ }, { "cell_type": "code", - "execution_count": 27, + "execution_count": 28, "id": "32f3b457", "metadata": {}, "outputs": [ @@ -1550,7 +1623,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\RIST\\AppData\\Local\\Temp\\ipykernel_75396\\1486307578.py:134: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", + "C:\\Users\\Combustion\\AppData\\Local\\Temp\\ipykernel_33276\\1486307578.py:134: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", " plt.grid(b=True, which='minor', color='r', linestyle='--')\n" ] }, @@ -1560,14 +1633,14 @@ "(1120.0, 1320.0)" ] }, - "execution_count": 27, + "execution_count": 28, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "5afeca3240394fc7978059e3124fd058", + "model_id": "82a9416cc7d04c76ae2e9a1c42d83965", "version_major": 2, "version_minor": 0 }, @@ -1747,7 +1820,7 @@ }, { "cell_type": "code", - "execution_count": 28, + "execution_count": 29, "id": "35f7f4af", "metadata": {}, "outputs": [ @@ -1777,7 +1850,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\RIST\\AppData\\Local\\Temp\\ipykernel_75396\\1371208751.py:132: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", + "C:\\Users\\Combustion\\AppData\\Local\\Temp\\ipykernel_33276\\1371208751.py:132: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", " plt.grid(b=True, which='minor', color='r', linestyle='--')\n" ] }, @@ -1787,14 +1860,14 @@ "(1120.0, 1320.0)" ] }, - "execution_count": 28, + "execution_count": 29, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "29aac9776eec4aa6a8c8b592295eec06", + "model_id": "d12970af28fb4afcad0da181d82b655a", "version_major": 2, "version_minor": 0 }, @@ -1964,7 +2037,7 @@ }, { "cell_type": "code", - "execution_count": 29, + "execution_count": 30, "id": "01cba2bf", "metadata": { "scrolled": false @@ -1976,7 +2049,7 @@ "160.4006440677966" ] }, - "execution_count": 29, + "execution_count": 30, "metadata": {}, "output_type": "execute_result" } @@ -1987,7 +2060,7 @@ }, { "cell_type": "code", - "execution_count": 30, + "execution_count": 31, "id": "417a4faf", "metadata": { "scrolled": false @@ -1999,7 +2072,7 @@ "159.0" ] }, - "execution_count": 30, + "execution_count": 31, "metadata": {}, "output_type": "execute_result" } @@ -2010,7 +2083,7 @@ }, { "cell_type": "code", - "execution_count": 31, + "execution_count": 32, "id": "4ac4926b", "metadata": {}, "outputs": [ @@ -2021,7 +2094,7 @@ " 15., 9., 9.])" ] }, - "execution_count": 31, + "execution_count": 32, "metadata": {}, "output_type": "execute_result" } @@ -2032,7 +2105,7 @@ }, { "cell_type": "code", - "execution_count": 32, + "execution_count": 33, "id": "58fb00cb", "metadata": {}, "outputs": [ @@ -2057,7 +2130,7 @@ " [ 9.00000000e+00, 9.00000000e+00, 0.00000000e+00]])" ] }, - "execution_count": 32, + "execution_count": 33, "metadata": {}, "output_type": "execute_result" } @@ -2070,7 +2143,7 @@ }, { "cell_type": "code", - "execution_count": 33, + "execution_count": 34, "id": "2d1a860e", "metadata": {}, "outputs": [ @@ -2078,7 +2151,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\RIST\\AppData\\Local\\Temp\\ipykernel_75396\\1001734892.py:1: RuntimeWarning: invalid value encountered in true_divide\n", + "C:\\Users\\Combustion\\AppData\\Local\\Temp\\ipykernel_33276\\1001734892.py:1: RuntimeWarning: invalid value encountered in true_divide\n", " 100 * (np.array(cosp.step_sizes) * 60 / 20 - np.round(np.array(cosp.step_sizes) * 60 / 20)) / (np.array(cosp.step_sizes) * 60 / 20)\n" ] }, @@ -2091,7 +2164,7 @@ " 0. ])" ] }, - "execution_count": 33, + "execution_count": 34, "metadata": {}, "output_type": "execute_result" } @@ -2110,7 +2183,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 35, "id": "0fa97f83", "metadata": {}, "outputs": [ @@ -2140,7 +2213,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\RIST\\AppData\\Local\\Temp\\ipykernel_75396\\4051397401.py:170: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", + "C:\\Users\\Combustion\\AppData\\Local\\Temp\\ipykernel_33276\\4051397401.py:170: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", " plt.grid(b=True, which='minor', color='r', linestyle='--')\n" ] }, @@ -2150,14 +2223,14 @@ "(1120.0, 1320.0)" ] }, - "execution_count": 34, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "890645dddab24b1f96dde74b2cddb099", + "model_id": "305b7c7f68c04b69848cc330c12a0654", "version_major": 2, "version_minor": 0 }, @@ -2396,7 +2469,7 @@ }, { "cell_type": "code", - "execution_count": 35, + "execution_count": 36, "id": "99dd258f", "metadata": {}, "outputs": [], @@ -2433,7 +2506,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "640e10056e1c4fdebf56e839d1792454", + "model_id": "4bf81a2ed1b34b6ab4e21bc192a8a9b8", "version_major": 2, "version_minor": 0 }, @@ -2488,7 +2561,7 @@ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "fa3976e8200c48e19f5e12a599808aec", + "model_id": "4915b27f042042f2acd8257be3543487", "version_major": 2, "version_minor": 0 }, @@ -2518,7 +2591,7 @@ }, { "cell_type": "code", - "execution_count": 43, + "execution_count": 39, "id": "6b18807d", "metadata": {}, "outputs": [], @@ -2532,7 +2605,7 @@ }, { "cell_type": "code", - "execution_count": 44, + "execution_count": 40, "id": "1007d82d", "metadata": {}, "outputs": [ @@ -2542,7 +2615,7 @@ "66" ] }, - "execution_count": 44, + "execution_count": 40, "metadata": {}, "output_type": "execute_result" } @@ -2553,7 +2626,7 @@ }, { "cell_type": "code", - "execution_count": 45, + "execution_count": 41, "id": "3fc5bccd", "metadata": {}, "outputs": [ @@ -2566,7 +2639,7 @@ " 56, 61, 3, 8, 13, 18, 23, 28, 33, 38, 43, 48, 53, 58, 63])" ] }, - "execution_count": 45, + "execution_count": 41, "metadata": {}, "output_type": "execute_result" } @@ -2585,7 +2658,7 @@ }, { "cell_type": "code", - "execution_count": 34, + "execution_count": 42, "id": "9ce8fc25", "metadata": {}, "outputs": [ @@ -2615,7 +2688,7 @@ "name": "stderr", "output_type": "stream", "text": [ - "C:\\Users\\RIST\\AppData\\Local\\Temp\\ipykernel_75396\\4051397401.py:170: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", + "C:\\Users\\Combustion\\AppData\\Local\\Temp\\ipykernel_33276\\4051397401.py:170: MatplotlibDeprecationWarning: The 'b' parameter of grid() has been renamed 'visible' since Matplotlib 3.5; support for the old name will be dropped two minor releases later.\n", " plt.grid(b=True, which='minor', color='r', linestyle='--')\n" ] }, @@ -2625,14 +2698,14 @@ "(1120.0, 1320.0)" ] }, - "execution_count": 34, + "execution_count": 42, "metadata": {}, "output_type": "execute_result" }, { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "890645dddab24b1f96dde74b2cddb099", + "model_id": "85a90df189d14c4b967c877a04e3f97e", "version_major": 2, "version_minor": 0 },