{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Concise and other forms of EoMs (Working Engineer Version)\n", "\n", "In the past two sections, a good Undergraduate level of description of the Concise and Non-Dimensional forms of the Equations of Motion was shown. Let's now present things slightly differently - using more nomenclature, just to fuck things up for you _properly_.\n", "\n", "We're also going to change the meaning of a couple of symbols until I'm smart enough to figure out a way to make this next section consistent with the last one (some large find/replace operation, I suspect).\n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": { "tags": [ "remove-input", "remove-output" ] }, "outputs": [], "source": [ "import sympy as sp\n", "from IPython.display import Math, Latex\n", "\n", "def printMatrix(matrix, label=None):\n", " if label == None:\n", " display(Math(sp.latex(sp.Matrix(matrix.round(6)))))\n", " else:\n", " display(Latex(label + '$' + sp.latex(sp.Matrix(matrix.round(6))) + '$'))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's think about where we ended up, in the preceding, the *Concise Form of the Longitudinal Equations of Motion* was given as {eq}`eq:conciselon`:\n", "\n", "$$\\begin{align}\\begin{bmatrix} \\dot{u}\\\\\\dot{w}\\\\\\dot{q}\\\\\\dot{\\theta}\\end{bmatrix} = \\begin{bmatrix}\n", " X_u & X_w & 0 & -g\\cdot\\cos\\theta_0\\\\\n", " Z_u & Z_w & U_0 & -g\\cdot\\sin\\theta_0\\\\\n", " M_u^* & M_w^* & M_q^* & M_\\theta^*\\\\\n", " 0 & 0 & 1 & 0 \n", " \\end{bmatrix}\\begin{bmatrix}\n", " {u}\\\\{w}\\\\{q}\\\\{\\theta} \n", " \\end{bmatrix} + \\begin{bmatrix}\n", " 0\\\\Z_{\\delta_e}\\\\M_{\\delta_e}^*\\\\0 \n", " \\end{bmatrix}\\left[\\delta_e\\right]\\end{align}$$\n", "$$\\dot{\\vec{x}} = A\\vec{x} + B\\vec{u}$$\n", "\n", "Which is but _one_ means of presenting the equations of motion in state space formulation. *Concise* in this representation means (I think):\n", "- Each term in the A and B matrix is a single term\n", "- Each output is in real engineering units" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "celltoolbar": "Tags", "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.8.3" } }, "nbformat": 4, "nbformat_minor": 5 }