Skip to content

Instantly share code, notes, and snippets.

@finback-at
Created April 5, 2020 10:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save finback-at/e898d6014ee556ddb662086af2e9c74c to your computer and use it in GitHub Desktop.
Save finback-at/e898d6014ee556ddb662086af2e9c74c to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 微分代数方程式系 (DAEs) の動的最適制御を行う\n",
"[JModelica.org Users Guide - Version 2.10](https://jmodelica.org/downloads/UsersGuide-2.10.pdf) 6.2.A first example に掲載されている微分代数方程式の動的最適制御問題 (dynamimc optimal control problem) を実習します。\n",
"\n",
"### 概要\n",
"\n",
"#### 制御対象の微分代数方程式モデル (DAEs)\n",
"\n",
"Van der Pol oscillator のモデルです。\n",
"状態変数を $x_1$, $x_2$, 制御変数を $u$ とします。\n",
"状態変数の初期値を設定すると、以下の微分代数方程式系に従って状態変数が変化します。\n",
"$$ \n",
"\\begin{align}\n",
"\\frac{d x_1}{dt} &= (1-x_2^2)x_1-x_2+u, \\\\\n",
"\\frac{d x_2}{dt} &= x_1\n",
"\\end{align}\n",
"$$\n",
"\n",
"#### 動的最適制御問題 (dynamic optimal control problem)\n",
"制約条件 (constraint) $u \\leq 0.75$のもとで制御変数を調整し、\n",
"startTime から finalTime まで状態変数を移動させたときに、目標関数\n",
"$$\n",
"\\int_{startTime}^{finalTime}{x_1^2 + x_2^2 + u^2}dt\n",
"$$\n",
"が最小になるようにします。\n",
"\n",
"### モデルの作成\n",
"最適化モデル VDP_Opt のソースコードを示します。\n",
"objectiveIntegrand 目標関数の被積分関数を設定します。"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Overwriting VDP_Opt.mop\n"
]
}
],
"source": [
"%%writefile VDP_Opt.mop\n",
"optimization VDP_Opt (objectiveIntegrand = x1^2 + x2^2 + u^2,\n",
" startTime = 0,\n",
" finalTime = 20)\n",
" // The states\n",
" Real x1(start = 0, fixed = true);\n",
" Real x2(start = 1, fixed = true);\n",
" // The control signal\n",
" input Real u;\n",
"equation\n",
" der(x1) = (1 - x2^2) * x1 - x2 + u;\n",
" der(x2) = x1;\n",
"constraint\n",
" u <= 0.75;\n",
"end VDP_Opt;"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"最適化モデルをロードします。"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from pyjmi import transfer_optimization_problem\n",
"op = transfer_optimization_problem(\"VDP_Opt\", \"VDP_Opt.mop\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"動的最適制御シミュレーションを行います。"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"\n",
"Initialization time: 0.20 seconds\n",
"\n",
"Total time: 0.25 seconds\n",
"Pre-processing time: 0.00 seconds\n",
"Solution time: 0.03 seconds\n",
"Post-processing time: 0.02 seconds\n",
"\n"
]
}
],
"source": [
"res = op.optimize()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"シミュレーション結果を取得してプロットします。"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"x1 = res['x1']\n",
"x2 = res['x2']\n",
"u = res['u']\n",
"t = res['time']"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"window.mpl = {};\n",
"\n",
"\n",
"mpl.get_websocket_type = function() {\n",
" if (typeof(WebSocket) !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof(MozWebSocket) !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert('Your browser does not have WebSocket support.' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.');\n",
" };\n",
"}\n",
"\n",
"mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = (this.ws.binaryType != undefined);\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById(\"mpl-warnings\");\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent = (\n",
" \"This browser does not support binary websocket messages. \" +\n",
" \"Performance may be slow.\");\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = $('<div/>');\n",
" this._root_extra_style(this.root)\n",
" this.root.attr('style', 'display: inline-block');\n",
"\n",
" $(parent_element).append(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n",
" fig.send_message(\"send_image_mode\", {});\n",
" if (mpl.ratio != 1) {\n",
" fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n",
" }\n",
" fig.send_message(\"refresh\", {});\n",
" }\n",
"\n",
" this.imageObj.onload = function() {\n",
" if (fig.image_mode == 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function() {\n",
" fig.ws.close();\n",
" }\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"}\n",
"\n",
"mpl.figure.prototype._init_header = function() {\n",
" var titlebar = $(\n",
" '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n",
" 'ui-helper-clearfix\"/>');\n",
" var titletext = $(\n",
" '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n",
" 'text-align: center; padding: 3px;\"/>');\n",
" titlebar.append(titletext)\n",
" this.root.append(titlebar);\n",
" this.header = titletext[0];\n",
"}\n",
"\n",
"\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(canvas_div) {\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._init_canvas = function() {\n",
" var fig = this;\n",
"\n",
" var canvas_div = $('<div/>');\n",
"\n",
" canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n",
"\n",
" function canvas_keyboard_event(event) {\n",
" return fig.key_event(event, event['data']);\n",
" }\n",
"\n",
" canvas_div.keydown('key_press', canvas_keyboard_event);\n",
" canvas_div.keyup('key_release', canvas_keyboard_event);\n",
" this.canvas_div = canvas_div\n",
" this._canvas_extra_style(canvas_div)\n",
" this.root.append(canvas_div);\n",
"\n",
" var canvas = $('<canvas/>');\n",
" canvas.addClass('mpl-canvas');\n",
" canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n",
"\n",
" this.canvas = canvas[0];\n",
" this.context = canvas[0].getContext(\"2d\");\n",
"\n",
" var backingStore = this.context.backingStorePixelRatio ||\n",
"\tthis.context.webkitBackingStorePixelRatio ||\n",
"\tthis.context.mozBackingStorePixelRatio ||\n",
"\tthis.context.msBackingStorePixelRatio ||\n",
"\tthis.context.oBackingStorePixelRatio ||\n",
"\tthis.context.backingStorePixelRatio || 1;\n",
"\n",
" mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband = $('<canvas/>');\n",
" rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n",
"\n",
" var pass_mouse_events = true;\n",
"\n",
" canvas_div.resizable({\n",
" start: function(event, ui) {\n",
" pass_mouse_events = false;\n",
" },\n",
" resize: function(event, ui) {\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" stop: function(event, ui) {\n",
" pass_mouse_events = true;\n",
" fig.request_resize(ui.size.width, ui.size.height);\n",
" },\n",
" });\n",
"\n",
" function mouse_event_fn(event) {\n",
" if (pass_mouse_events)\n",
" return fig.mouse_event(event, event['data']);\n",
" }\n",
"\n",
" rubberband.mousedown('button_press', mouse_event_fn);\n",
" rubberband.mouseup('button_release', mouse_event_fn);\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" rubberband.mousemove('motion_notify', mouse_event_fn);\n",
"\n",
" rubberband.mouseenter('figure_enter', mouse_event_fn);\n",
" rubberband.mouseleave('figure_leave', mouse_event_fn);\n",
"\n",
" canvas_div.on(\"wheel\", function (event) {\n",
" event = event.originalEvent;\n",
" event['data'] = 'scroll'\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" mouse_event_fn(event);\n",
" });\n",
"\n",
" canvas_div.append(canvas);\n",
" canvas_div.append(rubberband);\n",
"\n",
" this.rubberband = rubberband;\n",
" this.rubberband_canvas = rubberband[0];\n",
" this.rubberband_context = rubberband[0].getContext(\"2d\");\n",
" this.rubberband_context.strokeStyle = \"#000000\";\n",
"\n",
" this._resize_canvas = function(width, height) {\n",
" // Keep the size of the canvas, canvas container, and rubber band\n",
" // canvas in synch.\n",
" canvas_div.css('width', width)\n",
" canvas_div.css('height', height)\n",
"\n",
" canvas.attr('width', width * mpl.ratio);\n",
" canvas.attr('height', height * mpl.ratio);\n",
" canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n",
"\n",
" rubberband.attr('width', width);\n",
" rubberband.attr('height', height);\n",
" }\n",
"\n",
" // Set the figure to an initial 600x600px, this will subsequently be updated\n",
" // upon first draw.\n",
" this._resize_canvas(600, 600);\n",
"\n",
" // Disable right mouse context menu.\n",
" $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n",
" return false;\n",
" });\n",
"\n",
" function set_focus () {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" // put a spacer in here.\n",
" continue;\n",
" }\n",
" var button = $('<button/>');\n",
" button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n",
" 'ui-button-icon-only');\n",
" button.attr('role', 'button');\n",
" button.attr('aria-disabled', 'false');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
"\n",
" var icon_img = $('<span/>');\n",
" icon_img.addClass('ui-button-icon-primary ui-icon');\n",
" icon_img.addClass(image);\n",
" icon_img.addClass('ui-corner-all');\n",
"\n",
" var tooltip_span = $('<span/>');\n",
" tooltip_span.addClass('ui-button-text');\n",
" tooltip_span.html(tooltip);\n",
"\n",
" button.append(icon_img);\n",
" button.append(tooltip_span);\n",
"\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" var fmt_picker_span = $('<span/>');\n",
"\n",
" var fmt_picker = $('<select/>');\n",
" fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n",
" fmt_picker_span.append(fmt_picker);\n",
" nav_element.append(fmt_picker_span);\n",
" this.format_dropdown = fmt_picker[0];\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = $(\n",
" '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n",
" fmt_picker.append(option)\n",
" }\n",
"\n",
" // Add hover states to the ui-buttons\n",
" $( \".ui-button\" ).hover(\n",
" function() { $(this).addClass(\"ui-state-hover\");},\n",
" function() { $(this).removeClass(\"ui-state-hover\");}\n",
" );\n",
"\n",
" var status_bar = $('<span class=\"mpl-message\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"}\n",
"\n",
"mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n",
"}\n",
"\n",
"mpl.figure.prototype.send_message = function(type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"}\n",
"\n",
"mpl.figure.prototype.send_draw_message = function() {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n",
" }\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"}\n",
"\n",
"\n",
"mpl.figure.prototype.handle_resize = function(fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1]);\n",
" fig.send_message(\"refresh\", {});\n",
" };\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n",
" var x0 = msg['x0'] / mpl.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n",
" var x1 = msg['x1'] / mpl.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0, 0, fig.canvas.width, fig.canvas.height);\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_cursor = function(fig, msg) {\n",
" var cursor = msg['cursor'];\n",
" switch(cursor)\n",
" {\n",
" case 0:\n",
" cursor = 'pointer';\n",
" break;\n",
" case 1:\n",
" cursor = 'default';\n",
" break;\n",
" case 2:\n",
" cursor = 'crosshair';\n",
" break;\n",
" case 3:\n",
" cursor = 'move';\n",
" break;\n",
" }\n",
" fig.rubberband_canvas.style.cursor = cursor;\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_message = function(fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_draw = function(fig, msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message(\"ack\", {});\n",
"}\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function(fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" evt.data.type = \"image/png\";\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src);\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" evt.data);\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
" else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig[\"handle_\" + msg_type];\n",
" } catch (e) {\n",
" console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n",
" }\n",
" }\n",
" };\n",
"}\n",
"\n",
"// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n",
"mpl.findpos = function(e) {\n",
" //this section is from http://www.quirksmode.org/js/events_properties.html\n",
" var targ;\n",
" if (!e)\n",
" e = window.event;\n",
" if (e.target)\n",
" targ = e.target;\n",
" else if (e.srcElement)\n",
" targ = e.srcElement;\n",
" if (targ.nodeType == 3) // defeat Safari bug\n",
" targ = targ.parentNode;\n",
"\n",
" // jQuery normalizes the pageX and pageY\n",
" // pageX,Y are the mouse positions relative to the document\n",
" // offset() returns the position of the element relative to the document\n",
" var x = e.pageX - $(targ).offset().left;\n",
" var y = e.pageY - $(targ).offset().top;\n",
"\n",
" return {\"x\": x, \"y\": y};\n",
"};\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * http://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys (original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object')\n",
" obj[key] = original[key]\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function(event, name) {\n",
" var canvas_pos = mpl.findpos(event)\n",
"\n",
" if (name === 'button_press')\n",
" {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" var x = canvas_pos.x * mpl.ratio;\n",
" var y = canvas_pos.y * mpl.ratio;\n",
"\n",
" this.send_message(name, {x: x, y: y, button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event)});\n",
"\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We want\n",
" * to control all of the cursor setting manually through the\n",
" * 'cursor' event from matplotlib */\n",
" event.preventDefault();\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"}\n",
"\n",
"mpl.figure.prototype.key_event = function(event, name) {\n",
"\n",
" // Prevent repeat events\n",
" if (name == 'key_press')\n",
" {\n",
" if (event.which === this._key)\n",
" return;\n",
" else\n",
" this._key = event.which;\n",
" }\n",
" if (name == 'key_release')\n",
" this._key = null;\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.which != 17)\n",
" value += \"ctrl+\";\n",
" if (event.altKey && event.which != 18)\n",
" value += \"alt+\";\n",
" if (event.shiftKey && event.which != 16)\n",
" value += \"shift+\";\n",
"\n",
" value += 'k';\n",
" value += event.which.toString();\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, {key: value,\n",
" guiEvent: simpleKeys(event)});\n",
" return false;\n",
"}\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function(name) {\n",
" if (name == 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message(\"toolbar_button\", {name: name});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n",
"\n",
"mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.close = function() {\n",
" comm.close()\n",
" };\n",
" ws.send = function(m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function(msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" // Pass the mpl event to the overriden (by mpl) onmessage function.\n",
" ws.onmessage(msg['content']['data'])\n",
" });\n",
" return ws;\n",
"}\n",
"\n",
"mpl.mpl_figure_comm = function(comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = $(\"#\" + id);\n",
" var ws_proxy = comm_websocket_adapter(comm)\n",
"\n",
" function ondownload(figure, format) {\n",
" window.open(figure.imageObj.src);\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy,\n",
" ondownload,\n",
" element.get(0));\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element.get(0);\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error(\"Failed to find cell for figure\", id, fig);\n",
" return;\n",
" }\n",
"\n",
" var output_index = fig.cell_info[2]\n",
" var cell = fig.cell_info[0];\n",
"\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function(fig, msg) {\n",
" var width = fig.canvas.width/mpl.ratio\n",
" fig.root.unbind('remove')\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable()\n",
" $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n",
" fig.close_ws(fig, msg);\n",
"}\n",
"\n",
"mpl.figure.prototype.close_ws = function(fig, msg){\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"}\n",
"\n",
"mpl.figure.prototype.push_to_output = function(remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width/mpl.ratio\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"}\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function() {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message(\"ack\", {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () { fig.push_to_output() }, 1000);\n",
"}\n",
"\n",
"mpl.figure.prototype._init_toolbar = function() {\n",
" var fig = this;\n",
"\n",
" var nav_element = $('<div/>')\n",
" nav_element.attr('style', 'width: 100%');\n",
" this.root.append(nav_element);\n",
"\n",
" // Define a callback function for later on.\n",
" function toolbar_event(event) {\n",
" return fig.toolbar_button_onclick(event['data']);\n",
" }\n",
" function toolbar_mouse_event(event) {\n",
" return fig.toolbar_button_onmouseover(event['data']);\n",
" }\n",
"\n",
" for(var toolbar_ind in mpl.toolbar_items){\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) { continue; };\n",
"\n",
" var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n",
" button.click(method_name, toolbar_event);\n",
" button.mouseover(tooltip, toolbar_mouse_event);\n",
" nav_element.append(button);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n",
" nav_element.append(status_bar);\n",
" this.message = status_bar[0];\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n",
" var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n",
" button.click(function (evt) { fig.handle_close(fig, {}); } );\n",
" button.mouseover('Stop Interaction', toolbar_mouse_event);\n",
" buttongrp.append(button);\n",
" var titlebar = this.root.find($('.ui-dialog-titlebar'));\n",
" titlebar.prepend(buttongrp);\n",
"}\n",
"\n",
"mpl.figure.prototype._root_extra_style = function(el){\n",
" var fig = this\n",
" el.on(\"remove\", function(){\n",
"\tfig.close_ws(fig, {});\n",
" });\n",
"}\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function(el){\n",
" // this is important to make the div 'focusable\n",
" el.attr('tabindex', 0)\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" }\n",
" else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"\n",
"}\n",
"\n",
"mpl.figure.prototype._key_event_extra = function(event, name) {\n",
" var manager = IPython.notebook.keyboard_manager;\n",
" if (!manager)\n",
" manager = IPython.keyboard_manager;\n",
"\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which == 13) {\n",
" this.canvas_div.blur();\n",
" event.shiftKey = false;\n",
" // Send a \"J\" for go to next cell\n",
" event.which = 74;\n",
" event.keyCode = 74;\n",
" manager.command_mode();\n",
" manager.handle_keydown(event);\n",
" }\n",
"}\n",
"\n",
"mpl.figure.prototype.handle_save = function(fig, msg) {\n",
" fig.ondownload(fig, null);\n",
"}\n",
"\n",
"\n",
"mpl.find_output_cell = function(html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i=0; i<ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code'){\n",
" for (var j=0; j<cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] == html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"}\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel != null) {\n",
" IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABQAAAAPACAYAAABq3NR5AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAFAKADAAQAAAABAAADwAAAAADIn4SfAABAAElEQVR4AezdCZwdVZX48dP7mnT2fd8TyAIJJGwhEcio6KCggMOoMDK4jYqAOiOOOo46Dooizl8RhgFUFkHcWNSAQEIgCQlECGTvbCRk63Q66U7vy/+c16+6q156ed39lqr3fvczJ1V161bVrW91Z8jxVl0RCgIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggg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hSoCCCCAAAIIIIAAAggggAACCCCAQBAFSAAG566M8Axlhadet1quDfaIrhXvPtUtsfvzKM+hwo3H040qAggggAACCCCAAAIIIIAAAggggEDQBPgISHDuyABnKDa7b3sjw9qg2+0rwPaRDpupV6IRy2IfGbnCOWCpLp9twsH7N7KP+yViWb9+fSNd2YwAAokkUFJSIoWFhaEh5+fnS3a2d0JxIl0JY0UAgboC/L7rirCOQPII8PtOnnvJlSBQV2Djxo3epnTvCvXUESABGJx73cEZyu4IhuQ+Amxd22vEOgF4qx5zoB1cy580PgvVovvDkpQRleOOOy6ifnRCAAEEEEAAAQQQQAABBBBAAIFmCdhEImbhNIswMXfmEeDg3LccZyg2466x4k345TbWOcrt39T+P3D2sa8R3xDl/nRHAAEEEEAAAQQQQAABBBBAAAEEEAiQADMAo78ZZlYW/W777HGhtjzkaS126lmetoaq3ufpihrq1IT2qbrPA85+23R5tkZTj+8+0uwcbp+FzTB812mdpMumzDLc56A0IIBAIAR66yj+n707gbOjKvM+fjqd9JLubHQnJGYjG0nYtxDAJARQBHFBHQe3cUXU0XdQxAVx3tdtGBVw1xERRcdRRkdlEXTCEohsCWFfkgDZoENC0tk76e50p/v9P7erbldVern39r196977O595UqeqTlWd+lZ3hjyeU/WI15N5WobmHMSih3QCAQQyFeD3O1M5jkMg/gL8fsf/GdFDBDIVsGm/NvLPytNdC/4sNQESgPF54nu9rtiU3v5KTaBBKlOGA817rZ6iPbcqLLm4T/FGxXOKTEtDGgda8i+d9mmcmqYIIJBnAUv+8fud54fA5RHIkQC/3zmC5bQIxECA3+8YPAS6gECWBZj2m2XQQjsdCcD0n5h9hTcbX9/dHLm0/QN5vsKSe6MVfX3rGmhWAABAAElEQVQIxB9dt03tgtOBtZpROVpH/U1h7yG0812oeFhBQQABBBBAAAEEEEAAAQQQQAABBBAocAESgJk9wNWZHdbnUTba7h1eizla9paAs2c2w2tn7+gbaLFz3amoU1hy8yLFXQoKAggggAACCCCAAAIIIIAAAggggEARCPARkPg8xPsDXTkzUI9WbaquPwXYf4detE2q65PU8G7FBEWH4gOKWxQUBBBAAAEEEEAAAQQQQAABBBBA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AAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQQAABBBBAAAEEEEAAAQQQ+P/t0LEAAAAAwCB/61HsK4QMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwYMGDBgwIABAwbegQCalCD3966lRQAAAABJRU5ErkJggg==\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"Text(0,0.5,u'$u$')"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"%matplotlib notebook\n",
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"plt.figure(1)\n",
"\n",
"plt.subplot(311)\n",
"plt.plot(t,x1)\n",
"plt.xlim(0,20)\n",
"plt.ylim(-0.5,0.1)\n",
"plt.xticks(np.arange(0,20,step=5),color=\"None\")\n",
"plt.yticks(np.arange(-0.5,0.2,step=0.1))\n",
"plt.grid()\n",
"plt.ylabel('$x_1$')\n",
"\n",
"plt.subplot(312)\n",
"plt.plot(t,x2)\n",
"plt.xlim(0,20)\n",
"plt.ylim(-0.2,1.0)\n",
"plt.xticks(np.arange(0,20,step=5),color=\"None\")\n",
"plt.yticks(np.arange(-0.2,1.2,step=0.2))\n",
"plt.grid()\n",
"plt.ylabel('$x_2$')\n",
"\n",
"plt.subplot(313)\n",
"plt.plot(t,u)\n",
"plt.xlim(0,20)\n",
"plt.ylim(-0.6,0.8)\n",
"plt.xticks(np.arange(0,20,step=5),color=\"None\")\n",
"plt.yticks(np.arange(-0.6,1.0,step=0.2))\n",
"plt.grid()\n",
"plt.ylabel('$u$')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.17"
}
},
"nbformat": 4,
"nbformat_minor": 2
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment