Fixed formatting that brok nbconvert.

I am not sure what was wrong, but it couldn't handle the \latex
symbol.
This commit is contained in:
Roger Labbe committed 2014-08-31 22:19:15 -07:00
1 parent 9f3c2c0fa7
commit 9ed78ea6c0
1 file changed
+9 -9
+9 -9
View File
@@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:e015960709e549768dfdf9073da3f63db4cfe4874e8d964fd362f7902638377f"
"signature": "sha256:7cc2ec0d22bd73d36da7d0cba188abf9d87b484f02588427c8330d843bfbc48b"
},
"nbformat": 3,
"nbformat_minor": 0,
@@ -250,7 +250,7 @@
"output_type": "pyout",
"prompt_number": 1,
"text": [
"<IPython.core.display.HTML at 0x7fe4e4e1d1d0>"
"<IPython.core.display.HTML at 0x7f61b06947f0>"
]
}
],
@@ -393,13 +393,13 @@
{
"metadata": {},
"output_type": "display_data",
"png": "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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7fe4c7c10240>"
"<matplotlib.figure.Figure at 0x7f6197639908>"
]
}
],
"prompt_number": 15
"prompt_number": 2
},
{
"cell_type": "markdown",
@@ -469,7 +469,7 @@
"We continue this computation for the partial derivatives of the two distance equations with respect to $x$, $y$, $dx$ and $dy$, yielding\n",
"\n",
"$$\\frac{\\partial\\mathbf{h}}{\\partial\\mathbf{x}}=\n",
"\\small\\begin{bmatrix}\n",
"\\begin{bmatrix}\n",
"\\frac{x_r - x_A}{\\sqrt{(x_r-x_A)^2 + (y_r-y_A)^2}} & 0 & \n",
"\\frac{y_r - y_A}{\\sqrt{(x_r-x_A)^2 + (y_r-y_A)^2}} & 0 \\\\\n",
"\\frac{x_r - x_B}{\\sqrt{(x_r-x_B)^2 + (y_r-y_B)^2}} & 0 &\n",
@@ -484,7 +484,7 @@
"source": [
"That is pretty painful, and these are very simple equations. Computing the Jacobian can be extremely difficult or even impossible for more complicated systems. However, there is an easy way to get Python to do the work for you by using the `sympy` module [1]. `sympy` is a Python library for symbolic mathematics. The full scope of its abilities are beyond this book, but it can perform algebra, integrate and differentiate equations, find solutions to differential equations, and much more. We will use it to compute our Jabobian!\n",
"\n",
"First, a simple example. We will import sympy, initialize its pretty print functionality (which will print equations using $\\LaTeX$). We will then declare a symbol for numpy to use."
"First, a simple example. We will import sympy, initialize its pretty print functionality (which will print equations using LaTeX). We will then declare a symbol for numpy to use."
]
},
{
@@ -813,9 +813,9 @@
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAr8AAAFyCAYAAAD8h7IZAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0VOXBx/HfbFmBBIYEBBEFwiIBXICCYgJUUVGodWET\nca+KoFQEQV9FRdy3uKDVVq21BQUxigUqFgRStFpEBJElgJgQyB4IWSbLnfePQDQkhCRkljvz/ZzT\nc5iZOzNPfHrhy+W591q2b9/uFgAAABAErL4eAAAAAOAtxC8AAACCBvELAACAoEH8AgAAIGgQvwAA\nAAgaxC8AAACCRr3xm5+fr6uuukq/+93vNHr0aC1btkyStGzZMl188cW6+OKLtXr1aq8MFAAAADhZ\nlvqu81tRUaHy8nKFh4crPz9fI0eO1Nq1a3XJJZdo0aJFcrlcmjRpklauXOnNMQMAAABNUu+RX7vd\nrvDwcElSYWGhQkJCtGnTJsXFxalNmzY65ZRT1L59e23bts0rgwUAAABOhv1EGxQVFWncuHH6+eef\n9eyzzyonJ0cxMTFauHChoqKiFBMTo6ysLPXs2dMb4wUAAACa7IQnvEVGRmrp0qVasmSJnn76ablc\nLknSuHHjdOmll0qSLBaLZ0cJAAAANIMTHvk9qmvXrurQoYM6duyo5cuXVz+fnZ2tmJiYWtvv3btX\nVisXkwAAAIDnFBYW6swzz2zw9vXGb2ZmpkJCQtS6dWtlZ2drz549OuOMM7Rz507l5eXJ5XIpMzOz\nziUPVqtVvXr1avxPAJ9yOp1asmSJEhMTfT0UNAHzZ27Mn3kxd+bG/JmX0+lUSkpKo95Tb/zu379f\nDz74YPXjWbNmyel0avr06Ro/frwk6f7772/CUAEAAADvqzd+zzrrLC1durTW8yNHjtTIkSM9NigA\nAADAE1iUi1pYrmJuzJ+5MX/mxdyZG/MXPIhf1MJvAObG/Jkb82dezJ25MX/Bo8FXe2gubrdbeXl5\nMgzD218dkKxWq9q0acPl5gAAABrA6/Gbl5enyMhIhYWFefurA1Jpaany8vLkdDp9PRQAAAC/5/Vl\nD4ZhEL7NKCwsjKPoAAAADcSaXwAAAHhccWm5r4cgifgFAACAB6VmFGjKq6uUOHORSssqfD0c4vdY\n77zzjvr06aPu3bvXuGPIrFmz9OKLL9bY9oEHHlD37t3VqVMnrVu3zttDBQAA8FtHo3fozEX6aP0u\nZReUaMPOLF8Py/snvPmz8vJyzZ07V//85z9r3bL5ySefrLX9vHnzNG/ePA0aNOi4V1u4+uqrddVV\nV1XfEQ8AACCQpWYU6MWPvlXyl7vkdksOm1VjE7tr6uizdGpMS18Pj/j9taysLLlcLsXFxfl6KAAA\nAKbS0Oi1ZmVJNpsMH12pivg9YtiwYUpPT5f0y4Wu33rrLZWWlmry5MkqKyvT5MmTNXPmzAZ93ksv\nvaRXXnlFpaWl2rhxo+bMmaNu3bpp2bJlkqT8/Hw99NBDWrduncLDwzV16lRNmDCh+v3Tpk1Tq1at\ntH//fq1Zs0atW7fWqlWrFBkZ2cw/OQAAQNM1+EivYajlk08q8i9/Ucm4cTo4b55Pxkv8HrF69Wql\np6dr0KBB2rZtm6zWX5ZD79ixQ3/84x8bdSOJu+66S3fddZeuvvpqXX311Ro3blyt12NjY/Xf//5X\nBw4c0JVXXqn4+Hj17du3epsPP/xQSUlJeuONN7R161bZbLaT/0EBAACaQaOXN1itsu/eLWtpqaw5\nOZLbLfngJl1+F78dOnas8/mMffsavP3xtj0Rt9t9Uq839H2ZmZn64osvtGXLFoWGhqpz58667LLL\ntHz58hrxe/755+vCCy+UJPXu3btJ3w0AANCcTmZN76HZs3V46lSV9+vnpdHW5nfxG4iOPWKckZEh\nSRo8eHD1cxUVFbriiitqvOeMM87wzgABAABOoKHRaykuVshXX8k1fHitz6js2lWV3hx0Hfwufht7\n1LapR3mb4njLHhwOx3Hvsvbr5RNHdejQQaGhofrhhx/qXUrBMgcAAOBrDT7SW1KiyL/9TS1efVXW\n/HxlrVmjSj88kOd38euv3G73cZc9dO3aVV9++aUSEhJqvRYbG6sff/yxxnPt2rXT4MGDNW/ePN1z\nzz1yOBz67rvvFBkZqTPPPLP6+wAAAHylwdHrciliwQK1fPll2Q4ckCSVnX22LEVFPhp5/bjJxTGO\nPRI7fvx4de/eXcnJyXrttdfUvXt33XPPPTW2mTlzppYvX664uDjNnTu3xmu33Xab1q1bp3PPPVfX\nXHNN9fMvvfSScnJyNGTIEPXr109PPvlkjaPHFoulUSfYAQAANIdjb05ht1o1cXhPpTw3Rk/dfEGt\ndb2tnnlG0Q88INuBAyqLj1fuO+8oZ+lSVcTH++gnqJ9l+/btHjnEmJaWVn3JsF/Lzs5WTEyMJ74y\n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 truncated
"png": "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 truncated
"text": [
"<matplotlib.figure.Figure at 0x7fe4ca0c29b0>"
"<matplotlib.figure.Figure at 0x7f61965f1b00>"
]
}
],