Skip to content

Instantly share code, notes, and snippets.

@DavidPowell
Created April 17, 2018 07:40
Show Gist options
  • Save DavidPowell/3121d6fa8388a7f9cb92d87cc8f10514 to your computer and use it in GitHub Desktop.
Save DavidPowell/3121d6fa8388a7f9cb92d87cc8f10514 to your computer and use it in GitHub Desktop.
Test for tikz control systems example
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This reproduces a Tikz [control system example](http://www.texample.net/tikz/examples/control-system-principles/) in the Jupyter notebook\n",
"\n",
"It assumes windows, hence the ImageMagick command is explictly overridden as `magick` with the new option `-i`."
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"%load_ext tikzmagic"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"preamble = r'''\\tikzstyle{block} = [draw, fill=blue!20, rectangle, \n",
" minimum height=3em, minimum width=6em]\n",
"\\tikzstyle{sum} = [draw, fill=blue!20, circle, node distance=1cm]\n",
"\\tikzstyle{input} = [coordinate]\n",
"\\tikzstyle{output} = [coordinate]\n",
"\\tikzstyle{pinstyle} = [pin edge={to-,thin,black}]\n",
"'''"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"data": {
"image/jpeg": "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\n"
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"%%tikz --library shapes,arrows -po \"auto, node distance=2cm,>=latex'\" -x \"$preamble\" -f jpg -i magick\n",
"% We start by placing the blocks\n",
"\\node [input, name=input] {};\n",
"\\node [sum, right of=input] (sum) {};\n",
"\\node [block, right of=sum] (controller) {Controller};\n",
"\\node [block, right of=controller, pin={[pinstyle]above:Disturbances},\n",
" node distance=3cm] (system) {System};\n",
"% We draw an edge between the controller and system block to \n",
"% calculate the coordinate u. We need it to place the measurement block. \n",
"\\draw [->] (controller) -- node[name=u] {$u$} (system);\n",
"\\node [output, right of=system] (output) {};\n",
"\\node [block, below of=u] (measurements) {Measurements};\n",
"\n",
"% Once the nodes are placed, connecting them is easy. \n",
"\\draw [draw,->] (input) -- node {$r$} (sum);\n",
"\\draw [->] (sum) -- node {$e$} (controller);\n",
"\\draw [->] (system) -- node [name=y] {$y$}(output);\n",
"\\draw [->] (y) |- (measurements);\n",
"\\draw [->] (measurements) -| node[pos=0.99] {$-$} \n",
" node [near end] {$y_m$} (sum);"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"image/svg+xml": [
"<svg height=\"240px\" version=\"1.1\" viewBox=\"0 0 28.745 28.745\" width=\"400px\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">\n",
"<g id=\"surface1\">\n",
"<path d=\"M 0.00021875 -0.000875 L 0.00021875 28.346781 L 28.347875 28.346781 L 28.347875 -0.000875 Z M 0.00021875 -0.000875 \" style=\"fill:none;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,-1,0.199,28.546)\"/>\n",
"<path d=\"M 17.008031 14.174906 C 17.008031 15.737406 15.7385 17.006937 14.172094 17.006937 C 12.609594 17.006937 11.340063 15.737406 11.340063 14.174906 C 11.340063 12.6085 12.609594 11.338969 14.172094 11.338969 C 15.7385 11.338969 17.008031 12.6085 17.008031 14.174906 Z M 17.008031 14.174906 \" style=\"fill-rule:nonzero;fill:rgb(0%,0%,0%);fill-opacity:1;stroke-width:0.3985;stroke-linecap:butt;stroke-linejoin:miter;stroke:rgb(0%,0%,0%);stroke-opacity:1;stroke-miterlimit:10;\" transform=\"matrix(1,0,0,-1,0.199,28.546)\"/>\n",
"</g>\n",
"</svg>"
]
},
"metadata": {
"isolated": "true"
},
"output_type": "display_data"
}
],
"source": [
"%%tikz -f svg\n",
"\\draw (0,0) rectangle (1,1);\n",
"\\filldraw (0.5,0.5) circle (.1);"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.6.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment