Skip to content

Instantly share code, notes, and snippets.

@hsharrison
Created July 15, 2014 05:50
Show Gist options
  • Save hsharrison/6f6c6b417815cdc64691 to your computer and use it in GitHub Desktop.
Save hsharrison/6f6c6b417815cdc64691 to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"metadata": {
"name": "",
"signature": "sha256:df3fc02073d27b52172ed315d1ed31fa4ade6bea16ba2832535e999975dab7eb"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from sympy import *\n",
"init_printing()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"s, v, d, b = symbols('s, v, d, b')"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def tau_dot(s, v, d):\n",
" return s * d / v**2 - 1"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"system = Matrix([\n",
" - v,\n",
" - d,\n",
" - b * (tau_dot(s, v, d) - (-0.5)),\n",
"])"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"system"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\left[\\begin{matrix}- v\\\\- d\\\\- b \\left(\\frac{d s}{v^{2}} - 0.5\\right)\\end{matrix}\\right]$$"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAAIkAAABMCAMAAABu32T8AAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRM3diWbvIrtsj852BwAAAAlwSFlzAAAOxAAADsQBlSsOGwAABC5JREFUaAXtWtuy\npCoMjYDMjIqX4///60mC4aJ7bEV27aop89AgLbBYCSGA0KwsCn5KBg8AoFm1QWl/CgiM1L1aCUnz\nYyBix+OLJJKx5V5ODpTAv8mJddoA2GE8DvhCSU1OHLQTdjmUuciKSOYW9IBIWneBgeMrT5DYfgjS\nN2ABJtQOdGXO+gmSw7i6FdEAoSmQqkhYOVCmnLqzeCFbbQsXsaqcuB4ncSEldTkB5cYyZ4JcVuWk\nwE5jlRdJ5EJyLyfCRExfTiIXkns5ESZi+nISuZBcfU66ZdLS+p20PhKAtSho+wYkPnK7Qwe/+w1I\nHIXV9+UbkPRFZlI5PpmVM02ZmdRF0k0zwMIB/s9qx04UOmoMZkvkiZ3sdl6gmY2hMKQmJL9+/ykZ\nxKHOtGCRXbvDH5cK/vtd7ZzNrsRGi0OjneBteaKdXWeWJ83SQ4t2e18qIoEed8QjnlmUGUpNJFYZ\n18zKlBlKTST3NZLWeJGkbPj8y8nLyZGBY8kDO9F1L2PuImmi27K4wjyS/JDyJpKGlttN2sJAROpD\nlx1m30TSJ8usK4tXAxAAlx7K3UNCNwQsFm8Oe97WuCcXiEMysFMkdpmyHcMsIaodGrw9pGZ0B6nG\nNqBZYrUzOjmk7Y2FBuuhmITWUyQAfabKoA+NLTR0bwHL0tpkYFS0F+LODjFmmehO1pM7J0b/AUm+\nY5hkm0kZwyAbtX6YzCMjpkPjTXqnjOBK7oLOkeQbS68PbM+utJsYkQwKz5QYj3SVp3yEjkFlYC6l\nWce5eI4k31j60VE/E5lJg5aP9gKpDeQg+GnlnrvIborEMGH83jmSXhmjRSXJTqZTpjUakYxm/BCi\n2ZWtstssAztV4xgsOCH9FIldyX+QKliWSOVWciGZOeJHCkN0u2Cb87YXSa7vT5F45YY28ol0AQW9\nckTCFRfvHgQRlmVIDps6Mni/jaHqg8x+/2lE8kv/kuwboCI/kEQ7/Kb2TM/RfDIk/E7yw+cP0daO\nnDTOLaK7pF6W9XbShi4Vz2fn1fM3TrIW8GHlHXeYf0ckaDhd5oX3LeDzwNY1hlYmRuL30Gg+YSCn\nnBBufwDAPaiDxWKjNnTxBQoq8hM1niB4FQ+MB67OHYWcLGIc0uauw/YTJzCQt0cPhKCp+5kaHOmk\nhVNOOIueP5lKoZwzuOISGJFkAFKENhroDWW7jMXlWvEK6G/XZ+2U3jzuZR+7a3OSgK2jRcehh7Aq\nOPHdu9ceaSu9yamdyEuSavFODtA62gWsnovvQqnR1MhuIfGBAKrasnU4oI+uPtqJjOOLdEzWoFtI\nQMkapJCdWXT1RRcXi2gBFbmHxPq5h04CUUQVS2N301G0TRU9EnbcCVN/bbLd5jQOBj/yeCiz+Kfw\nZZ2lD9vMh9V967X1/WNYkEzvQkQylf2XdeY5x4U4vqj2P7xYKkPNa3QHAAAAAElFTkSuQmCC\n",
"prompt_number": 7,
"text": [
"\u23a1 -v \u23a4\n",
"\u23a2 \u23a5\n",
"\u23a2 -d \u23a5\n",
"\u23a2 \u23a5\n",
"\u23a2 \u239bd\u22c5s \u239e\u23a5\n",
"\u23a2-b\u22c5\u239c\u2500\u2500\u2500 - 0.5\u239f\u23a5\n",
"\u23a2 \u239c 2 \u239f\u23a5\n",
"\u23a3 \u239d v \u23a0\u23a6"
]
}
],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"system.jacobian(Matrix([s, v, d]))"
],
"language": "python",
"metadata": {},
"outputs": [
{
"latex": [
"$$\\left[\\begin{matrix}0 & -1 & 0\\\\0 & 0 & -1\\\\- \\frac{b d}{v^{2}} & \\frac{2 b}{v^{3}} d s & - \\frac{b s}{v^{2}}\\end{matrix}\\right]$$"
],
"metadata": {},
"output_type": "pyout",
"png": "iVBORw0KGgoAAAANSUhEUgAAALAAAABLCAMAAADnPP22AAAAPFBMVEX///8AAAAAAAAAAAAAAAAA\nAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAo1xBWAAAAE3RSTlMA\nMquZdlQQQOkwRInN3SJm77tsdo1uFAAAAAlwSFlzAAAOxAAADsQBlSsOGwAABNVJREFUaAXtW+2W\noyAMRUF2Fj9Z3/9dNwEVtBBApmd65siPNiq5ucYIKaSsWU1r2Ye30fJkrFm5gNZ9OF82I8t2RcLN\np3N1/GaCsOS94PX3MkhnLlMiLFOEBwgSOU6ZRiLdJr2WEyYsE4TnBTn0Q4RJ1mmpeVtOmLJMENZm\n2OjK7Z1vRZQDUJYJwqshrNbK0eMGYcpynLBcObpKreLssdKjcsKk5Tjhae2RW2O/Smm6/uWEScu/\niLC0ri0LCTmMRxvsEF7uYdJy3MPMxnD3Ey+deXvClgnCo8ZAnMtHJRe/KJV7mFGWCcLCTBy8auK4\nR5iyTBBmI07NS20yccPDlGWKsOwhm6vky9tlHdv5HCXJI8IyRTiJ+xMdHsLv9vrj4cfDFw88IXFx\nyLcfPh7+dpdeAH+Vh4nljMttBw6rlB3eyyoM5WFiOcMhxqQq5R00sApDEKaWM3bE6HeV8oYaXIUh\nCFPLGVGi+4Uq5R0k9HOFIEwtZzjIiFSl7DBfs/84YXI5w0GGpSplD7KEMLmc4WEGxSplD/FXEyaX\nMzwnBMVbylmrMBjDf77+hqxWLaRUKTs2ryHx7yu6x0EtZzjIiFSl7DBfCcdHCUYtZzjIiFSl7DCL\nCFPLGQ4yJr1rFYbwMCOWM2I03fkq5Q0mtApDEXbWP0h6CL/7YTwefjx88cCvCwk1uC0DnihT6Lnm\nsBHuq1zcU3IYgUl6uDc7OsaShESJaD3s+7d4e54K0T15KQyTJIy/frfWOWfvp/xvLFRoVvjwVPzr\npXIYJkkYGWwtfMv7VbYoxqYVPjyV4+INIQyTIgwboaKFwJRQFhS+5RMVLFbYVU4Xyg8OGNgack8Z\n9g2j+bCxIUbJBIfClAYed7q0ZISt/03loKj04t6D42xS2GG4Yo3Z4rQaKcIaGMwD42CyMRuNpCET\nNJuK1/HW7u8Oo3UnPU+lCGNg8pYt8FBEsrBtNp7cVBxhlfFoXO9d2mGadvWH0xRhtLV0El8APft3\nuuN63woKLFTDrIp3vh+9g2xxg+nAcuvVmKQIQwjPEEGwgQvVbfSGZjN0Xacl21Qcs+FOCO8w8PIw\nvxYtRbjhPRamqFZ0gtOEF1NpCLFuVQzhqe1Fs4UwvO1zwUbwBjOLWUBYHi1F+Oh4S1ALhpINYaz3\n0Ld8fTL9VsJywWdiCxgmnNcb73U/0cg/OBF+WXqx5aTeZxzY62RF6MqNb0dT7CTXBUbUWMu3fCIc\ng4PzTd9rN0kTHaHrvBctLDjgS5ytoSm9rt4EYM7lfFws5xIGUypzdNKK2TTJLrB1EAuSTVgsIsLp\nAU37YjmXMCRq0r48NDxchTg1IwsoYA6gBwZj6WCmSTo/DSNfLOcSBrAu08MQPtujH3BeH1sGQaxx\nQBPeBBBmFz7rW84nLIfMGAajymbOshV9M7U4jk4wCPtJV5hZ+OzJcoKwwgTCPGCJSSbVjq7oxjvB\negY/4NjZcoJwj5lBB09Y8kma4ekM6x3tXSVEa0Zi52kGxR3uapkmPEkTPsAUK/zJGHZdu/paLAih\nmGWaMCRKQHaKD/i+cwq6+moxOQKXIjwC2cx3u6BrjKR/PgJnCZvJNJifQ3aHY35OK+h6D+7444nE\nP3SIUxJ3IEJeSSeVR09MQXO7OqW49Apn/ngCY/l/c3k7VAw9IYgAAAAASUVORK5CYII=\n",
"prompt_number": 8,
"text": [
"\u23a1 0 -1 0 \u23a4\n",
"\u23a2 \u23a5\n",
"\u23a2 0 0 -1 \u23a5\n",
"\u23a2 \u23a5\n",
"\u23a2-b\u22c5d 2\u22c5b\u22c5d\u22c5s -b\u22c5s \u23a5\n",
"\u23a2\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u2500\u2500 \u2500\u2500\u2500\u2500\u2500\u23a5\n",
"\u23a2 2 3 2 \u23a5\n",
"\u23a3 v v v \u23a6"
]
}
],
"prompt_number": 8
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment