{ "cells": [ { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import cmath as cm\n", "import control as co_general\n", "import matplotlib.pyplot as plt\n", "import slycot\n", "from control.matlab import *\n", "import scipy" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [], "source": [ "m1 = 2\n", "m2 = 2\n", "k1 = 50\n", "k2 = 75\n", "k3 = 50\n", "b1 = 5\n", "b2 = 5\n", "\n", "A = [[0,1,0,0],\n", " [-k1/m1-k2/m2,-b1/m1,k2/m2,0],\n", " [0,0,0,1],\n", " [k2/m2,0,-k3/m2-k2/m2,-b2/m2]]\n", "\n", "B = [[0,0,0],\n", " [1/m1,0,0],\n", " [0,0,0],\n", " [0,1/m2,k3/m2]]\n", "\n", "C = [[1,0,0,0],\n", " [0,0,1,0]]\n", "\n", "D = np.zeros((2,3),np.int8)\n", "\n", "sys = ss(A,B,C,D)" ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "A = [[ 0. 1. 0. 0. ]\n", " [-62.5 -2.5 37.5 0. ]\n", " [ 0. 0. 0. 1. ]\n", " [ 37.5 0. -62.5 -2.5]]\n", "\n", "B = [[ 0. 0. 0. ]\n", " [ 0.5 0. 0. ]\n", " [ 0. 0. 0. ]\n", " [ 0. 0.5 25. ]]\n", "\n", "C = [[1. 0. 0. 0.]\n", " [0. 0. 1. 0.]]\n", "\n", "D = [[0. 0. 0.]\n", " [0. 0. 0.]]" ] }, "execution_count": 113, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sys" ] }, { "cell_type": "code", "execution_count": 114, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ]" ] }, "execution_count": 114, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "#simulacao com condicoes iniciais nao nulas\n", "X0 = [-0.1,0,0.1,0]\n", "T = np.linspace(0,10,1000)\n", "yout,t,xout = initial(sys,T,X0,return_x=True)\n", "plt.plot(t,yout)" ] }, { "cell_type": "code", "execution_count": 117, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ]" ] }, "execution_count": 117, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "# sistema forçado degrau\n", "n=1000\n", "T = np.linspace(0,10,n)\n", "U = np.zeros((n,3))\n", "\n", "U[0:n,0] = 100.0\n", "U[0:n,1] = -150.0\n", "U[0:n,2] = 0.0\n", "\n", "yout,t,xout = lsim(sys,U,T)\n", "plt.plot(t,yout)" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "data": { "text/latex": [ "$$\\begin{bmatrix}\\frac{0.5 s^2 + 1.25 s + 31.25}{s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500}&\\frac{18.75}{s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500}\\frac{937.5}{s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500}\\\\\\frac{18.75}{s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500}&\\frac{0.5 s^2 + 1.25 s + 31.25}{s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500}\\frac{25 s^2 + 62.5 s + 1562}{s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500}\\\\ \\end{bmatrix}$$" ], "text/plain": [ "\n", "Input 1 to output 1:\n", " 0.5 s^2 + 1.25 s + 31.25\n", "----------------------------------------\n", "s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500\n", "\n", "Input 1 to output 2:\n", " 18.75\n", "----------------------------------------\n", "s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500\n", "\n", "Input 2 to output 1:\n", " 18.75\n", "----------------------------------------\n", "s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500\n", "\n", "Input 2 to output 2:\n", " 0.5 s^2 + 1.25 s + 31.25\n", "----------------------------------------\n", "s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500\n", "\n", "Input 3 to output 1:\n", " 937.5\n", "----------------------------------------\n", "s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500\n", "\n", "Input 3 to output 2:\n", " 25 s^2 + 62.5 s + 1562\n", "----------------------------------------\n", "s^4 + 5 s^3 + 131.2 s^2 + 312.5 s + 2500" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# transformação para TF\n", "systf = ss2tf(sys)\n", "systf" ] }, { "cell_type": "code", "execution_count": 122, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "_____Eigenvalue______ Damping___ Frequency_\n", " -1.25 +9.922j 0.125 10\n", " -1.25 -9.922j 0.125 10\n", " -1.25 +4.841j 0.25 5\n", " -1.25 -4.841j 0.25 5\n" ] }, { "data": { "text/plain": [ "(array([10., 10., 5., 5.]),\n", " array([0.125, 0.125, 0.25 , 0.25 ]),\n", " array([-1.25+9.92156742j, -1.25-9.92156742j, -1.25+4.84122918j,\n", " -1.25-4.84122918j]))" ] }, "execution_count": 122, "metadata": {}, "output_type": "execute_result" } ], "source": [ "damp(sys)" ] }, { "cell_type": "code", "execution_count": 120, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "(array([-1.25+9.92156742j, -1.25-9.92156742j, -1.25+4.84122918j,\n", " -1.25-4.84122918j]),\n", " array([[ 0.00879497+6.98079047e-02j, 0.00879497-6.98079047e-02j,\n", " -0.03466876-1.34271539e-01j, -0.03466876+1.34271539e-01j],\n", " [-0.70359754-3.61150305e-17j, -0.70359754+3.61150305e-17j,\n", " 0.69337525+0.00000000e+00j, 0.69337525-0.00000000e+00j],\n", " [-0.00879497-6.98079047e-02j, -0.00879497+6.98079047e-02j,\n", " -0.03466876-1.34271539e-01j, -0.03466876+1.34271539e-01j],\n", " [ 0.70359754+0.00000000e+00j, 0.70359754-0.00000000e+00j,\n", " 0.69337525+1.00693231e-16j, 0.69337525-1.00693231e-16j]]))" ] }, "execution_count": 120, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.linalg.eig(A)" ] }, { "cell_type": "code", "execution_count": 126, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[[ 0. 0.5 -1.25 -28.125 ]\n", " [ 0.5 -1.25 -28.125 148.4375]\n", " [ 0. 0. 0. 18.75 ]\n", " [ 0. 0. 18.75 -93.75 ]]\n", "4\n" ] } ], "source": [ "#controlabilidde\n", "CC = ctrb(A,B)\n", "print(CC)\n", "print(np.linalg.matrix_rank(CC))\n" ] }, { "cell_type": "code", "execution_count": 139, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "#observabilidade \n", "OBS = obsv(A,C)\n", "print(np.linalg.matrix_rank(OBS))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "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.7.6" } }, "nbformat": 4, "nbformat_minor": 4 }