{ "cell_id": 15099524443234900231, "cells": [ { "cell_id": 18224201033722515016, "cell_origin": "client", "cell_type": "latex", "cells": [ { "cell_id": 288377247472214505, "cell_origin": "client", "cell_type": "latex_view", "source": "\\section*{Dynamic cell updates}\n\nBy default the output generated by \\verb|display| will generate a new output cell.\nHowever, it is possible to put the output into an existing cell. In order to do this,\nuse the \\verb|cell_id| parameter of the \\verb|display| call, passing it the ID of\nthe cell you want to use for output. To obtain that cell, note that all \\verb|display|\ncalls return the ID of the cell generated or re-used. \n\nThe following example shows how to use this. On the first iteration of the loop\nwe pass the ID '0', which leads to generation of a new cell. The call returns the\nID of the newly generated cell, which is then used for any subsequent iterations of\nthe loop." } ], "hidden": true, "source": "\\section*{Dynamic cell updates}\n\nBy default the output generated by \\verb|display| will generate a new output cell.\nHowever, it is possible to put the output into an existing cell. In order to do this,\nuse the \\verb|cell_id| parameter of the \\verb|display| call, passing it the ID of\nthe cell you want to use for output. To obtain that cell, note that all \\verb|display|\ncalls return the ID of the cell generated or re-used. \n\nThe following example shows how to use this. On the first iteration of the loop\nwe pass the ID '0', which leads to generation of a new cell. The call returns the\nID of the newly generated cell, which is then used for any subsequent iterations of\nthe loop." }, { "cell_id": 13251744526743992062, "cell_origin": "client", "cell_type": "input", "source": "from time import time, sleep" }, { "cell_id": 2146353832374992238, "cell_origin": "client", "cell_type": "input", "cells": [ { "cell_id": 13118738148290226086, "cell_origin": "server", "cell_type": "verbatim", "source": "\\begin{verbatim}100\\end{verbatim}" } ], "source": "out=0\nfor i in range(100):\n if i!=0:\n sleep(0.02)\n out=display(i+1, cell_id=out)" }, { "cell_id": 9892886858352650674, "cell_origin": "client", "cell_type": "latex", "cells": [ { "cell_id": 3080659676924590408, "cell_origin": "client", "cell_type": "latex_view", "source": "You do not necessarily have to refer to an output cell generated by the current input\ncell, as the following example shows. The first input cell generates output, which is\nthen changed by the following output cell." } ], "hidden": true, "source": "You do not necessarily have to refer to an output cell generated by the current input\ncell, as the following example shows. The first input cell generates output, which is\nthen changed by the following output cell." }, { "cell_id": 105907711687349616, "cell_origin": "client", "cell_type": "input", "cells": [ { "cell_id": 2196625473498355352, "cell_origin": "server", "cell_type": "verbatim", "source": "\\begin{verbatim}🍅\\end{verbatim}" } ], "source": "out=0\nfor i in range(40):\n out=display(\"🍅\"*i, cell_id=out)\n sleep(0.01)" }, { "cell_id": 7666176074787439841, "cell_origin": "client", "cell_type": "input", "source": "for i in range(40):\n out=display(\"🍅\"*(40-i), cell_id=out)\n sleep(0.01)" }, { "cell_id": 17146903837014280937, "cell_origin": "client", "cell_type": "latex", "cells": [ { "cell_id": 3727440420867125456, "cell_origin": "client", "cell_type": "latex_view", "source": "Note that while the updates are reasonably fast, there is of course some overhead;\nthe following cell is a modified version of the first example, timing the total \nrun." } ], "hidden": true, "source": "Note that while the updates are reasonably fast, there is of course some overhead;\nthe following cell is a modified version of the first example, timing the total \nrun." }, { "cell_id": 9488396359116664289, "cell_origin": "client", "cell_type": "input", "cells": [ { "cell_id": 15246750990950781788, "cell_origin": "server", "cell_type": "verbatim", "source": "\\begin{verbatim}1000\\end{verbatim}" }, { "cell_id": 14146630577148013707, "cell_origin": "server", "cell_type": "verbatim", "source": "\\begin{verbatim}time taken 1.35 sec\\end{verbatim}" } ], "source": "start=time()\nout=0\nfor i in range(1000):\n if i!=0:\n sleep(0.001)\n out=display(i+1, cell_id=out)\nend=time()\ndisplay(f\"time taken {(end-start):.2f} sec\")" }, { "cell_id": 12976171920402918008, "cell_origin": "client", "cell_type": "latex", "cells": [ { "cell_id": 6406072888083276979, "cell_origin": "client", "cell_type": "latex_view", "source": "You can also use this mechanism to generate simple animations of functions. If you use \\verb|display|\nto put a plot into an existing output cell, the plot will be replaced." } ], "hidden": true, "source": "You can also use this mechanism to generate simple animations of functions. If you use \\verb|display|\nto put a plot into an existing output cell, the plot will be replaced." }, { "cell_id": 16316670679203193483, "cell_origin": "client", "cell_type": "input", "source": "from cdb.graphics.plot import plot\nimport numpy as np" }, { "cell_id": 4578427611787586049, "cell_origin": "client", "cell_type": "input", "cells": [ { "cell_id": 213006113325090223, "cell_origin": "server", "cell_type": "image_svg", "source": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIKICAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4KPHN2ZyB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgd2lkdGg9IjQ2MC44cHQiIGhlaWdodD0iMzQ1LjZwdCIgdmlld0JveD0iMCAwIDQ2MC44IDM0NS42IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSI+CiA8bWV0YWRhdGE+CiAgPHJkZjpSREYgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPgogICA8Y2M6V29yaz4KICAgIDxkYzp0eXBlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiLz4KICAgIDxkYzpkYXRlPjIwMjQtMDYtMTNUMjA6MDE6MDMuMTcwMjE5PC9kYzpkYXRlPgogICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICA8ZGM6Y3JlYXRvcj4KICAgICA8Y2M6QWdlbnQ+CiAgICAgIDxkYzp0aXRsZT5NYXRwbG90bGliIHYzLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88L2RjOnRpdGxlPgogICAgIDwvY2M6QWdlbnQ+CiAgICA8L2RjOmNyZWF0b3I+CiAgIDwvY2M6V29yaz4KICA8L3JkZjpSREY+CiA8L21ldGFkYXRhPgogPGRlZnM+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIj4qe3N0cm9rZS1saW5lam9pbjogcm91bmQ7IHN0cm9rZS1saW5lY2FwOiBidXR0fTwvc3R5bGU+CiA8L2RlZnM+CiA8ZyBpZD0iZmlndXJlXzEiPgogIDxnIGlkPSJwYXRjaF8xIj4KICAgPHBhdGggZD0iTSAwIDM0NS42IApMIDQ2MC44IDM0NS42IApMIDQ2MC44IDAgCkwgMCAwIAp6CiIgc3R5bGU9ImZpbGw6ICNmZmZmZmYiLz4KICA8L2c+CiAgPGcgaWQ9ImF4ZXNfMSI+CiAgIDxnIGlkPSJwYXRjaF8yIj4KICAgIDxwYXRoIGQ9Ik0gNTcuNiAzMDcuNTg0IApMIDQxNC43MiAzMDcuNTg0IApMIDQxNC43MiA0MS40NzIgCkwgNTcuNiA0MS40NzIgCnoKIiBzdHlsZT0iZmlsbDogI2ZmZmZmZiIvPgogICA8L2c+CiAgIDxnIGlkPSJtYXRwbG90bGliLmF4aXNfMSI+CiAgICA8ZyBpZD0ieHRpY2tfMSI+CiAgICAgPGcgaWQ9ImxpbmUyZF8xIj4KICAgICAgPGRlZnM+CiAgICAgICA8cGF0aCBpZD0ibWY1MDdkMTRkMTgiIGQ9Ik0gMCAwIApMIDAgMy41IAoiIHN0eWxlPSJzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44Ii8+CiAgICAgIDwvZGVmcz4KICAgICAgPGc+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNtZjUwN2QxNGQxOCIgeD0iNzMuODMyNzI3IiB5PSIzMDcuNTg0IiBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwOyBzdHJva2Utd2lkdGg6IDAuOCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzEiPgogICAgICA8IS0tIDAgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDcwLjY1MTQ3NyAzMjIuMTgyNDM3KSBzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9IkRlamFWdVNhbnMtMzAiIGQ9Ik0gMjAzNCA0MjUwIApRIDE1NDcgNDI1MCAxMzAxIDM3NzAgClEgMTA1NiAzMjkxIDEwNTYgMjMyOCAKUSAxMDU2IDEzNjkgMTMwMSA4ODkgClEgMTU0NyA0MDkgMjAzNCA0MDkgClEgMjUyNSA0MDkgMjc3MCA4ODkgClEgMzAxNiAxMzY5IDMwMTYgMjMyOCAKUSAzMDE2IDMyOTEgMjc3MCAzNzcwIApRIDI1MjUgNDI1MCAyMDM0IDQyNTAgCnoKTSAyMDM0IDQ3NTAgClEgMjgxOSA0NzUwIDMyMzMgNDEyOSAKUSAzNjQ3IDM1MDkgMzY0NyAyMzI4IApRIDM2NDcgMTE1MCAzMjMzIDUyOSAKUSAyODE5IC05MSAyMDM0IC05MSAKUSAxMjUwIC05MSA4MzYgNTI5IApRIDQyMiAxMTUwIDQyMiAyMzI4IApRIDQyMiAzNTA5IDgzNiA0MTI5IApRIDEyNTAgNDc1MCAyMDM0IDQ3NTAgCnoKIiB0cmFuc2Zvcm09InNjYWxlKDAuMDE1NjI1KSIvPgogICAgICAgPC9kZWZzPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzIiPgogICAgIDxnIGlkPSJsaW5lMmRfMiI+CiAgICAgIDxnPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjbWY1MDdkMTRkMTgiIHg9IjEyNS41MjkzMTEiIHk9IjMwNy41ODQiIHN0eWxlPSJzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfMiI+CiAgICAgIDwhLS0gMSAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTIyLjM0ODA2MSAzMjIuMTgyNDM3KSBzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9IkRlamFWdVNhbnMtMzEiIGQ9Ik0gNzk0IDUzMSAKTCAxODI1IDUzMSAKTCAxODI1IDQwOTEgCkwgNzAzIDM4NjYgCkwgNzAzIDQ0NDEgCkwgMTgxOSA0NjY2IApMIDI0NTAgNDY2NiAKTCAyNDUwIDUzMSAKTCAzNDgxIDUzMSAKTCAzNDgxIDAgCkwgNzk0IDAgCkwgNzk0IDUzMSAKegoiIHRyYW5zZm9ybT0ic2NhbGUoMC4wMTU2MjUpIi8+CiAgICAgICA8L2RlZnM+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTMxIi8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieHRpY2tfMyI+CiAgICAgPGcgaWQ9ImxpbmUyZF8zIj4KICAgICAgPGc+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNtZjUwN2QxNGQxOCIgeD0iMTc3LjIyNTg5NSIgeT0iMzA3LjU4NCIgc3R5bGU9InN0cm9rZTogIzAwMDAwMDsgc3Ryb2tlLXdpZHRoOiAwLjgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8zIj4KICAgICAgPCEtLSAyIC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNzQuMDQ0NjQ1IDMyMi4xODI0MzcpIHNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iRGVqYVZ1U2Fucy0zMiIgZD0iTSAxMjI4IDUzMSAKTCAzNDMxIDUzMSAKTCAzNDMxIDAgCkwgNDY5IDAgCkwgNDY5IDUzMSAKUSA4MjggOTAzIDE0NDggMTUyOSAKUSAyMDY5IDIxNTYgMjIyOCAyMzM4IApRIDI1MzEgMjY3OCAyNjUxIDI5MTQgClEgMjc3MiAzMTUwIDI3NzIgMzM3OCAKUSAyNzcyIDM3NTAgMjUxMSAzOTg0IApRIDIyNTAgNDIxOSAxODMxIDQyMTkgClEgMTUzNCA0MjE5IDEyMDQgNDExNiAKUSA4NzUgNDAxMyA1MDAgMzgwMyAKTCA1MDAgNDQ0MSAKUSA4ODEgNDU5NCAxMjEyIDQ2NzIgClEgMTU0NCA0NzUwIDE4MTkgNDc1MCAKUSAyNTQ0IDQ3NTAgMjk3NSA0Mzg3IApRIDM0MDYgNDAyNSAzNDA2IDM0MTkgClEgMzQwNiAzMTMxIDMyOTggMjg3MyAKUSAzMTkxIDI2MTYgMjkwNiAyMjY2IApRIDI4MjggMjE3NSAyNDA5IDE3NDIgClEgMTk5MSAxMzA5IDEyMjggNTMxIAp6CiIgdHJhbnNmb3JtPSJzY2FsZSgwLjAxNTYyNSkiLz4KICAgICAgIDwvZGVmcz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ4dGlja180Ij4KICAgICA8ZyBpZD0ibGluZTJkXzQiPgogICAgICA8Zz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI21mNTA3ZDE0ZDE4IiB4PSIyMjguOTIyNDc4IiB5PSIzMDcuNTg0IiBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwOyBzdHJva2Utd2lkdGg6IDAuOCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzQiPgogICAgICA8IS0tIDMgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDIyNS43NDEyMjggMzIyLjE4MjQzNykgc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGlkPSJEZWphVnVTYW5zLTMzIiBkPSJNIDI1OTcgMjUxNiAKUSAzMDUwIDI0MTkgMzMwNCAyMTEyIApRIDM1NTkgMTgwNiAzNTU5IDEzNTYgClEgMzU1OSA2NjYgMzA4NCAyODcgClEgMjYwOSAtOTEgMTczNCAtOTEgClEgMTQ0MSAtOTEgMTEzMCAtMzMgClEgODE5IDI1IDQ4OCAxNDEgCkwgNDg4IDc1MCAKUSA3NTAgNTk3IDEwNjIgNTE5IApRIDEzNzUgNDQxIDE3MTYgNDQxIApRIDIzMDkgNDQxIDI2MjAgNjc1IApRIDI5MzEgOTA5IDI5MzEgMTM1NiAKUSAyOTMxIDE3NjkgMjY0MiAyMDAxIApRIDIzNTMgMjIzNCAxODM4IDIyMzQgCkwgMTI5NCAyMjM0IApMIDEyOTQgMjc1MyAKTCAxODYzIDI3NTMgClEgMjMyOCAyNzUzIDI1NzUgMjkzOSAKUSAyODIyIDMxMjUgMjgyMiAzNDc1IApRIDI4MjIgMzgzNCAyNTY3IDQwMjYgClEgMjMxMyA0MjE5IDE4MzggNDIxOSAKUSAxNTc4IDQyMTkgMTI4MSA0MTYyIApRIDk4NCA0MTA2IDYyOCAzOTg4IApMIDYyOCA0NTUwIApRIDk4OCA0NjUwIDEzMDIgNDcwMCAKUSAxNjE2IDQ3NTAgMTg5NCA0NzUwIApRIDI2MTMgNDc1MCAzMDMxIDQ0MjMgClEgMzQ1MCA0MDk3IDM0NTAgMzU0MSAKUSAzNDUwIDMxNTMgMzIyOCAyODg2IApRIDMwMDYgMjYxOSAyNTk3IDI1MTYgCnoKIiB0cmFuc2Zvcm09InNjYWxlKDAuMDE1NjI1KSIvPgogICAgICAgPC9kZWZzPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzUiPgogICAgIDxnIGlkPSJsaW5lMmRfNSI+CiAgICAgIDxnPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjbWY1MDdkMTRkMTgiIHg9IjI4MC42MTkwNjIiIHk9IjMwNy41ODQiIHN0eWxlPSJzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfNSI+CiAgICAgIDwhLS0gNCAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMjc3LjQzNzgxMiAzMjIuMTgyNDM3KSBzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9IkRlamFWdVNhbnMtMzQiIGQ9Ik0gMjQxOSA0MTE2IApMIDgyNSAxNjI1IApMIDI0MTkgMTYyNSAKTCAyNDE5IDQxMTYgCnoKTSAyMjUzIDQ2NjYgCkwgMzA0NyA0NjY2IApMIDMwNDcgMTYyNSAKTCAzNzEzIDE2MjUgCkwgMzcxMyAxMTAwIApMIDMwNDcgMTEwMCAKTCAzMDQ3IDAgCkwgMjQxOSAwIApMIDI0MTkgMTEwMCAKTCAzMTMgMTEwMCAKTCAzMTMgMTcwOSAKTCAyMjUzIDQ2NjYgCnoKIiB0cmFuc2Zvcm09InNjYWxlKDAuMDE1NjI1KSIvPgogICAgICAgPC9kZWZzPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inh0aWNrXzYiPgogICAgIDxnIGlkPSJsaW5lMmRfNiI+CiAgICAgIDxnPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjbWY1MDdkMTRkMTgiIHg9IjMzMi4zMTU2NDYiIHk9IjMwNy41ODQiIHN0eWxlPSJzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfNiI+CiAgICAgIDwhLS0gNSAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMzI5LjEzNDM5NiAzMjIuMTgyNDM3KSBzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9IkRlamFWdVNhbnMtMzUiIGQ9Ik0gNjkxIDQ2NjYgCkwgMzE2OSA0NjY2IApMIDMxNjkgNDEzNCAKTCAxMjY5IDQxMzQgCkwgMTI2OSAyOTkxIApRIDE0MDYgMzAzOCAxNTQzIDMwNjEgClEgMTY4MSAzMDg0IDE4MTkgMzA4NCAKUSAyNjAwIDMwODQgMzA1NiAyNjU2IApRIDM1MTMgMjIyOCAzNTEzIDE0OTcgClEgMzUxMyA3NDQgMzA0NCAzMjYgClEgMjU3NSAtOTEgMTcyMiAtOTEgClEgMTQyOCAtOTEgMTEyMyAtNDEgClEgODE5IDkgNDk0IDEwOSAKTCA0OTQgNzQ0IApRIDc3NSA1OTEgMTA3NSA1MTYgClEgMTM3NSA0NDEgMTcwOSA0NDEgClEgMjI1MCA0NDEgMjU2NSA3MjUgClEgMjg4MSAxMDA5IDI4ODEgMTQ5NyAKUSAyODgxIDE5ODQgMjU2NSAyMjY4IApRIDIyNTAgMjU1MyAxNzA5IDI1NTMgClEgMTQ1NiAyNTUzIDEyMDQgMjQ5NyAKUSA5NTMgMjQ0MSA2OTEgMjMyMiAKTCA2OTEgNDY2NiAKegoiIHRyYW5zZm9ybT0ic2NhbGUoMC4wMTU2MjUpIi8+CiAgICAgICA8L2RlZnM+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM1Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieHRpY2tfNyI+CiAgICAgPGcgaWQ9ImxpbmUyZF83Ij4KICAgICAgPGc+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNtZjUwN2QxNGQxOCIgeD0iMzg0LjAxMjIyOSIgeT0iMzA3LjU4NCIgc3R5bGU9InN0cm9rZTogIzAwMDAwMDsgc3Ryb2tlLXdpZHRoOiAwLjgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF83Ij4KICAgICAgPCEtLSA2IC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgzODAuODMwOTc5IDMyMi4xODI0MzcpIHNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8ZGVmcz4KICAgICAgICA8cGF0aCBpZD0iRGVqYVZ1U2Fucy0zNiIgZD0iTSAyMTEzIDI1ODQgClEgMTY4OCAyNTg0IDE0MzkgMjI5MyAKUSAxMTkxIDIwMDMgMTE5MSAxNDk3IApRIDExOTEgOTk0IDE0MzkgNzAxIApRIDE2ODggNDA5IDIxMTMgNDA5IApRIDI1MzggNDA5IDI3ODYgNzAxIApRIDMwMzQgOTk0IDMwMzQgMTQ5NyAKUSAzMDM0IDIwMDMgMjc4NiAyMjkzIApRIDI1MzggMjU4NCAyMTEzIDI1ODQgCnoKTSAzMzY2IDQ1NjMgCkwgMzM2NiAzOTg4IApRIDMxMjggNDEwMCAyODg2IDQxNTkgClEgMjY0NCA0MjE5IDI0MDYgNDIxOSAKUSAxNzgxIDQyMTkgMTQ1MSAzNzk3IApRIDExMjIgMzM3NSAxMDc1IDI1MjIgClEgMTI1OSAyNzk0IDE1MzcgMjkzOSAKUSAxODE2IDMwODQgMjE1MCAzMDg0IApRIDI4NTMgMzA4NCAzMjYxIDI2NTcgClEgMzY2OSAyMjMxIDM2NjkgMTQ5NyAKUSAzNjY5IDc3OCAzMjQ0IDM0MyAKUSAyODE5IC05MSAyMTEzIC05MSAKUSAxMzAzIC05MSA4NzUgNTI5IApRIDQ0NyAxMTUwIDQ0NyAyMzI4IApRIDQ0NyAzNDM0IDk3MiA0MDkyIApRIDE0OTcgNDc1MCAyMzgxIDQ3NTAgClEgMjYxOSA0NzUwIDI4NjEgNDcwMyAKUSAzMTAzIDQ2NTYgMzM2NiA0NTYzIAp6CiIgdHJhbnNmb3JtPSJzY2FsZSgwLjAxNTYyNSkiLz4KICAgICAgIDwvZGVmcz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzYiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgPC9nPgogICA8ZyBpZD0ibWF0cGxvdGxpYi5heGlzXzIiPgogICAgPGcgaWQ9Inl0aWNrXzEiPgogICAgIDxnIGlkPSJsaW5lMmRfOCI+CiAgICAgIDxkZWZzPgogICAgICAgPHBhdGggaWQ9Im1mOGNkNWJhNmNjIiBkPSJNIDAgMCAKTCAtMy41IDAgCiIgc3R5bGU9InN0cm9rZTogIzAwMDAwMDsgc3Ryb2tlLXdpZHRoOiAwLjgiLz4KICAgICAgPC9kZWZzPgogICAgICA8Zz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI21mOGNkNWJhNmNjIiB4PSI1Ny42IiB5PSIyOTUuNDg4IiBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwOyBzdHJva2Utd2lkdGg6IDAuOCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzgiPgogICAgICA8IS0tIDEgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0LjIzNzUgMjk5LjI4NzIxOSkgc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzEiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ5dGlja18yIj4KICAgICA8ZyBpZD0ibGluZTJkXzkiPgogICAgICA8Zz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI21mOGNkNWJhNmNjIiB4PSI1Ny42IiB5PSIyNTYuOTY1Njc2IiBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwOyBzdHJva2Utd2lkdGg6IDAuOCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzkiPgogICAgICA8IS0tIDIgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0LjIzNzUgMjYwLjc2NDg5NSkgc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzIiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ5dGlja18zIj4KICAgICA8ZyBpZD0ibGluZTJkXzEwIj4KICAgICAgPGc+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNtZjhjZDViYTZjYyIgeD0iNTcuNiIgeT0iMjE4LjQ0MzM1MiIgc3R5bGU9InN0cm9rZTogIzAwMDAwMDsgc3Ryb2tlLXdpZHRoOiAwLjgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8xMCI+CiAgICAgIDwhLS0gMyAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQuMjM3NSAyMjIuMjQyNTcxKSBzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zMyIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inl0aWNrXzQiPgogICAgIDxnIGlkPSJsaW5lMmRfMTEiPgogICAgICA8Zz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI21mOGNkNWJhNmNjIiB4PSI1Ny42IiB5PSIxNzkuOTIxMDI4IiBzdHlsZT0ic3Ryb2tlOiAjMDAwMDAwOyBzdHJva2Utd2lkdGg6IDAuOCIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgIDxnIGlkPSJ0ZXh0XzExIj4KICAgICAgPCEtLSA0IC0tPgogICAgICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSg0NC4yMzc1IDE4My43MjAyNDYpIHNjYWxlKDAuMSAtMC4xKSI+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM0Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgICA8ZyBpZD0ieXRpY2tfNSI+CiAgICAgPGcgaWQ9ImxpbmUyZF8xMiI+CiAgICAgIDxnPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjbWY4Y2Q1YmE2Y2MiIHg9IjU3LjYiIHk9IjE0MS4zOTg3MDQiIHN0eWxlPSJzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfMTIiPgogICAgICA8IS0tIDUgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0LjIzNzUgMTQ1LjE5NzkyMikgc2NhbGUoMC4xIC0wLjEpIj4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI0RlamFWdVNhbnMtMzUiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgIDwvZz4KICAgIDxnIGlkPSJ5dGlja182Ij4KICAgICA8ZyBpZD0ibGluZTJkXzEzIj4KICAgICAgPGc+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNtZjhjZDViYTZjYyIgeD0iNTcuNiIgeT0iMTAyLjg3NjM3OSIgc3R5bGU9InN0cm9rZTogIzAwMDAwMDsgc3Ryb2tlLXdpZHRoOiAwLjgiLz4KICAgICAgPC9nPgogICAgIDwvZz4KICAgICA8ZyBpZD0idGV4dF8xMyI+CiAgICAgIDwhLS0gNiAtLT4KICAgICAgPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoNDQuMjM3NSAxMDYuNjc1NTk4KSBzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPHVzZSB4bGluazpocmVmPSIjRGVqYVZ1U2Fucy0zNiIvPgogICAgICA8L2c+CiAgICAgPC9nPgogICAgPC9nPgogICAgPGcgaWQ9Inl0aWNrXzciPgogICAgIDxnIGlkPSJsaW5lMmRfMTQiPgogICAgICA8Zz4KICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI21mOGNkNWJhNmNjIiB4PSI1Ny42IiB5PSI2NC4zNTQwNTUiIHN0eWxlPSJzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICAgPGcgaWQ9InRleHRfMTQiPgogICAgICA8IS0tIDcgLS0+CiAgICAgIDxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDQ0LjIzNzUgNjguMTUzMjc0KSBzY2FsZSgwLjEgLTAuMSkiPgogICAgICAgPGRlZnM+CiAgICAgICAgPHBhdGggaWQ9IkRlamFWdVNhbnMtMzciIGQ9Ik0gNTI1IDQ2NjYgCkwgMzUyNSA0NjY2IApMIDM1MjUgNDM5NyAKTCAxODMxIDAgCkwgMTE3MiAwIApMIDI3NjYgNDEzNCAKTCA1MjUgNDEzNCAKTCA1MjUgNDY2NiAKegoiIHRyYW5zZm9ybT0ic2NhbGUoMC4wMTU2MjUpIi8+CiAgICAgICA8L2RlZnM+CiAgICAgICA8dXNlIHhsaW5rOmhyZWY9IiNEZWphVnVTYW5zLTM3Ii8+CiAgICAgIDwvZz4KICAgICA8L2c+CiAgICA8L2c+CiAgIDwvZz4KICAgPGcgaWQ9ImxpbmUyZF8xNSI+CiAgICA8cGF0aCBkPSJNIDczLjgzMjcyNyAyOTUuNDg4IApMIDc3LjExMjA2NiAyOTMuMTIxODQxIApMIDgwLjM5MTQwNSAyOTAuOTEwMzI5IApMIDgzLjY3MDc0NCAyODguODUyNTMgCkwgODYuOTUwMDgzIDI4Ni45NDY4OTIgCkwgOTAuMjI5NDIxIDI4NS4xOTEyNTIgCkwgOTMuNTA4NzYgMjgzLjU4Mjg0IApMIDk2Ljc4ODA5OSAyODIuMTE4Mjk5IApMIDEwMC4wNjc0MzggMjgwLjc5MzY4OSAKTCAxMDMuMzQ2Nzc3IDI3OS42MDQ1MDggCkwgMTA2LjYyNjExNiAyNzguNTQ1NzEyIApMIDEwOS45MDU0NTUgMjc3LjYxMTcyOCAKTCAxMTMuMTg0NzkzIDI3Ni43OTY0ODUgCkwgMTE2LjQ2NDEzMiAyNzYuMDkzNDMyIApMIDExOS43NDM0NzEgMjc1LjQ5NTU2OCAKTCAxMjMuMDIyODEgMjc0Ljk5NTQ2NyAKTCAxMjYuMzAyMTQ5IDI3NC41ODUzMTIgCkwgMTI5LjU4MTQ4OCAyNzQuMjU2OTIzIApMIDEzMi44NjA4MjYgMjc0LjAwMTc5MSAKTCAxMzYuMTQwMTY1IDI3My44MTExMTMgCkwgMTM5LjQxOTUwNCAyNzMuNjc1ODI2IApMIDE0Mi42OTg4NDMgMjczLjU4NjY0NCAKTCAxNDUuOTc4MTgyIDI3My41MzQwOTcgCkwgMTQ5LjI1NzUyMSAyNzMuNTA4NTY3IApMIDE1Mi41MzY4NiAyNzMuNTAwMzI1IApMIDE1NS44MTYxOTggMjczLjQ5OTU3NyAKTCAxNTkuMDk1NTM3IDI3My40OTY0OTQgCkwgMTYyLjM3NDg3NiAyNzMuNDgxMjYxIApMIDE2NS42NTQyMTUgMjczLjQ0NDEwNyAKTCAxNjguOTMzNTU0IDI3My4zNzUzNTQgCkwgMTcyLjIxMjg5MyAyNzMuMjY1NDQ4IApMIDE3NS40OTIyMzEgMjczLjEwNTAwMSAKTCAxNzguNzcxNTcgMjcyLjg4NDgyOSAKTCAxODIuMDUwOTA5IDI3Mi41OTU5ODggCkwgMTg1LjMzMDI0OCAyNzIuMjI5ODExIApMIDE4OC42MDk1ODcgMjcxLjc3NzkzOSAKTCAxOTEuODg4OTI2IDI3MS4yMzIzNjMgCkwgMTk1LjE2ODI2NCAyNzAuNTg1NDQ2IApMIDE5OC40NDc2MDMgMjY5LjgyOTk2IApMIDIwMS43MjY5NDIgMjY4Ljk1OTExNiAKTCAyMDUuMDA2MjgxIDI2Ny45NjY1ODcgCkwgMjA4LjI4NTYyIDI2Ni44NDY1MzUgCkwgMjExLjU2NDk1OSAyNjUuNTkzNjM2IApMIDIxNC44NDQyOTggMjY0LjIwMzEwMSAKTCAyMTguMTIzNjM2IDI2Mi42NzA2OTIgCkwgMjIxLjQwMjk3NSAyNjAuOTkyNzQ2IApMIDIyNC42ODIzMTQgMjU5LjE2NjE4MSAKTCAyMjcuOTYxNjUzIDI1Ny4xODg1MTUgCkwgMjMxLjI0MDk5MiAyNTUuMDU3ODc1IApMIDIzNC41MjAzMzEgMjUyLjc3MzAwMSAKTCAyMzcuNzk5NjY5IDI1MC4zMzMyNTMgCkwgMjQxLjA3OTAwOCAyNDcuNzM4NjE4IApMIDI0NC4zNTgzNDcgMjQ0Ljk4OTcwMiAKTCAyNDcuNjM3Njg2IDI0Mi4wODc3MzIgCkwgMjUwLjkxNzAyNSAyMzkuMDM0NTU0IApMIDI1NC4xOTYzNjQgMjM1LjgzMjYxOCAKTCAyNTcuNDc1NzAyIDIzMi40ODQ5NzUgCkwgMjYwLjc1NTA0MSAyMjguOTk1MjYyIApMIDI2NC4wMzQzOCAyMjUuMzY3Njg1IApMIDI2Ny4zMTM3MTkgMjIxLjYwNzAwOSAKTCAyNzAuNTkzMDU4IDIxNy43MTg1MyAKTCAyNzMuODcyMzk3IDIxMy43MDgwNjEgCkwgMjc3LjE1MTczNiAyMDkuNTgxOTA0IApMIDI4MC40MzEwNzQgMjA1LjM0NjgyNyAKTCAyODMuNzEwNDEzIDIwMS4wMTAwMzcgCkwgMjg2Ljk4OTc1MiAxOTYuNTc5MTQ5IApMIDI5MC4yNjkwOTEgMTkyLjA2MjE1NiAKTCAyOTMuNTQ4NDMgMTg3LjQ2NzQgCkwgMjk2LjgyNzc2OSAxODIuODAzNTMyIApMIDMwMC4xMDcxMDcgMTc4LjA3OTQ4NCAKTCAzMDMuMzg2NDQ2IDE3My4zMDQ0MjkgCkwgMzA2LjY2NTc4NSAxNjguNDg3NzQ2IApMIDMwOS45NDUxMjQgMTYzLjYzODk3OSAKTCAzMTMuMjI0NDYzIDE1OC43Njc4MDUgCkwgMzE2LjUwMzgwMiAxNTMuODgzOTg3IApMIDMxOS43ODMxNCAxNDguOTk3MzQxIApMIDMyMy4wNjI0NzkgMTQ0LjExNzY5NiAKTCAzMjYuMzQxODE4IDEzOS4yNTQ4NDkgCkwgMzI5LjYyMTE1NyAxMzQuNDE4NTMyIApMIDMzMi45MDA0OTYgMTI5LjYxODM3IApMIDMzNi4xNzk4MzUgMTI0Ljg2Mzg0MiAKTCAzMzkuNDU5MTc0IDEyMC4xNjQyNDQgCkwgMzQyLjczODUxMiAxMTUuNTI4NjUxIApMIDM0Ni4wMTc4NTEgMTEwLjk2NTg3OSAKTCAzNDkuMjk3MTkgMTA2LjQ4NDQ1NCAKTCAzNTIuNTc2NTI5IDEwMi4wOTI1NzEgCkwgMzU1Ljg1NTg2OCA5Ny43OTgwNyAKTCAzNTkuMTM1MjA3IDkzLjYwODM5MyAKTCAzNjIuNDE0NTQ1IDg5LjUzMDU2NiAKTCAzNjUuNjkzODg0IDg1LjU3MTE2MiAKTCAzNjguOTczMjIzIDgxLjczNjI3NyAKTCAzNzIuMjUyNTYyIDc4LjAzMTUwOSAKTCAzNzUuNTMxOTAxIDc0LjQ2MTkzIApMIDM3OC44MTEyNCA3MS4wMzIwNjkgCkwgMzgyLjA5MDU3OSA2Ny43NDU4OTUgCkwgMzg1LjM2OTkxNyA2NC42MDY3OTUgCkwgMzg4LjY0OTI1NiA2MS42MTc1NjcgCkwgMzkxLjkyODU5NSA1OC43ODA0MDYgCkwgMzk1LjIwNzkzNCA1Ni4wOTY4OTYgCkwgMzk4LjQ4NzI3MyA1My41NjggCiIgY2xpcC1wYXRoPSJ1cmwoI3BhNzgyNGQ3ZjhmKSIgc3R5bGU9ImZpbGw6IG5vbmU7IHN0cm9rZTogIzFmNzdiNDsgc3Ryb2tlLXdpZHRoOiAxLjU7IHN0cm9rZS1saW5lY2FwOiBzcXVhcmUiLz4KICAgPC9nPgogICA8ZyBpZD0icGF0Y2hfMyI+CiAgICA8cGF0aCBkPSJNIDU3LjYgMzA3LjU4NCAKTCA1Ny42IDQxLjQ3MiAKIiBzdHlsZT0iZmlsbDogbm9uZTsgc3Ryb2tlOiAjMDAwMDAwOyBzdHJva2Utd2lkdGg6IDAuODsgc3Ryb2tlLWxpbmVqb2luOiBtaXRlcjsgc3Ryb2tlLWxpbmVjYXA6IHNxdWFyZSIvPgogICA8L2c+CiAgIDxnIGlkPSJwYXRjaF80Ij4KICAgIDxwYXRoIGQ9Ik0gNDE0LjcyIDMwNy41ODQgCkwgNDE0LjcyIDQxLjQ3MiAKIiBzdHlsZT0iZmlsbDogbm9uZTsgc3Ryb2tlOiAjMDAwMDAwOyBzdHJva2Utd2lkdGg6IDAuODsgc3Ryb2tlLWxpbmVqb2luOiBtaXRlcjsgc3Ryb2tlLWxpbmVjYXA6IHNxdWFyZSIvPgogICA8L2c+CiAgIDxnIGlkPSJwYXRjaF81Ij4KICAgIDxwYXRoIGQ9Ik0gNTcuNiAzMDcuNTg0IApMIDQxNC43MiAzMDcuNTg0IAoiIHN0eWxlPSJmaWxsOiBub25lOyBzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44OyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbGluZWNhcDogc3F1YXJlIi8+CiAgIDwvZz4KICAgPGcgaWQ9InBhdGNoXzYiPgogICAgPHBhdGggZD0iTSA1Ny42IDQxLjQ3MiAKTCA0MTQuNzIgNDEuNDcyIAoiIHN0eWxlPSJmaWxsOiBub25lOyBzdHJva2U6ICMwMDAwMDA7IHN0cm9rZS13aWR0aDogMC44OyBzdHJva2UtbGluZWpvaW46IG1pdGVyOyBzdHJva2UtbGluZWNhcDogc3F1YXJlIi8+CiAgIDwvZz4KICA8L2c+CiA8L2c+CiA8ZGVmcz4KICA8Y2xpcFBhdGggaWQ9InBhNzgyNGQ3ZjhmIj4KICAgPHJlY3QgeD0iNTcuNiIgeT0iNDEuNDcyIiB3aWR0aD0iMzU3LjEyIiBoZWlnaHQ9IjI2Ni4xMTIiLz4KICA8L2NsaXBQYXRoPgogPC9kZWZzPgo8L3N2Zz4K" } ], "source": "out=0\nfor i in range(3):\n for v in np.concatenate([np.linspace(1.0, 3.0, 50), np.linspace(3.0, 1.0, 50)]):\n ex := \\cos(v x) + x;\n substitute(ex, $v -> @(v)$)\n out = display(plot(ex, ($x$, 0, 6.28)), out)" }, { "cell_id": 8706864135545547608, "cell_origin": "client", "cell_type": "input", "source": "" } ], "description": "Cadabra JSON notebook format", "version": 1.0 }