{
"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
}