{"id":4538,"date":"2017-04-17T10:50:33","date_gmt":"2017-04-17T15:50:33","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/telg1001\/?p=4538"},"modified":"2026-04-05T22:57:34","modified_gmt":"2026-04-06T03:57:34","slug":"lti-ct-respuesta-sistema-yszirzsr-sympy","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u03\/lti-ct-respuesta-sistema-yszirzsr-sympy\/","title":{"rendered":"3.5 LTI CT Respuesta del Sistema Y(s)=ZIR+ZSR con Sympy-Python"},"content":{"rendered":"\n<p>La respuesta total del sistema integra las respuestas obtenidas para entrada cero y estado cero. Se resume el desarrollo de un ejercicio con todos los componentes para el <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u03\/sistema-modelo-entrada-salida\/\" data-type=\"post\" data-id=\"522\">ejemplo 1 Modelo entrada-salida para circuitos RLC<\/a> realizada con Sympy-Python y las funciones del curso en <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-recursos\/algoritmos-telg1001-py\/\" data-type=\"page\" data-id=\"17852\"><em><strong>telg1001.py<\/strong><\/em>.<\/a><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"508\" height=\"95\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/SistemaUnBloque01.png\" alt=\"Sistema Un Bloque 01\" class=\"wp-image-19578\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-border-color has-base-border-color\"><tbody><tr><td><mark style=\"background-color:#FFFFFF;color:#009500\" class=\"has-inline-color\">Respuesta<br><strong>total<\/strong><\/mark><\/td><td><strong>=<\/strong><\/td><td><mark style=\"background-color:#FFFFFF;color:#ff0000\" class=\"has-inline-color\">respuesta a<br><strong>entrada cero<\/strong><\/mark><\/td><td><strong>+<\/strong><\/td><td><mark style=\"background-color:#FFFFFF;color:#0000ff\" class=\"has-inline-color\">respuesta a<br><strong>estado cero<\/strong><\/mark><\/td><\/tr><tr><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td>&nbsp;<\/td><td><mark style=\"background-color:#FFFFFF;color:#0000ff\" class=\"has-inline-color\">ZSR<\/mark> = <strong><span style=\"color: purple\">h(t)<\/span><\/strong> <mark style=\"background-color:#FFFFFF;color:#0000ff\" class=\"has-inline-color\">\u2297 x(t)<\/mark><\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<figure class=\"wp-block-image alignright size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"315\" height=\"157\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/FIEC05058_RLC_132.png\" alt=\"FIEC05058 circuito RLC 1H 3 Ohm 1\/2 F\" class=\"wp-image-19579\" \/><\/figure>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Lathi 1.8-1 p111. Oppenheim problema 2.61c p164 Ejemplo 9.24 p700<\/p>\n\n\n\n<p>Para el ejemplo, se plantea determinar la <em><strong>corriente<\/strong><\/em> de lazo y(t) del circuito mostrado en la imagen.<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{dy(t)}{dt} +3 y(t) + 2\\int_{-\\infty}^t y(\\tau)d\\tau = x(t) <\/span>\n\n\n\n<p>Como se hab\u00eda indicado en los desarrollos preliminares, para tener todo expresado con un solo operador, se derivan ambos lados de la ecuaci\u00f3n:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{d^{2}y(t)}{dt^{2}} + 3\\frac{dy(t)}{dt} + 2y(t) = \\frac{dx(t)}{dt} <\/span>\n\n\n\n<p>En la entrada de sistema se aplica:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> x(t) = 10 e^{-3t} \\mu (t) <\/span>\n\n\n\n<p>Para la respuesta se considera que la respuesta total del sistema se puede describir en forma gr\u00e1fica como el resultado de dos componentes:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"512\" height=\"206\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2023\/09\/SistemaEntradaEstadoCero01.png\" alt=\"Sistema Entrada Estado Cero esquema\" class=\"wp-image-13849\" \/><\/figure>\n\n\n\n<p>Se plantea el ejercicio para encontrar la respuesta a entrada cero ZIR y la respuesta a estado cero ZSR<\/p>\n\n\n\n<p>Es de considerar que para las gr\u00e1ficas de las respuestas se considera que el sistema es observable, aplicable, usado desde t=0, dado que la soluci\u00f3n para entrada cero no se ha acotado en los resultados.<\/p>\n\n\n\n<p>Imagine sistema con un capacitor entre sus componentes que a la salida que se descarga desde un voltaje de 1 voltio desde t=0, esta situaci\u00f3n no necesariamente implica que podr\u00edamos conocer si viene descarg\u00e1ndose desde 1.5, 3, 9, 12, o 1000 voltios.<\/p>\n\n\n\n<p>Observaci\u00f3n a considerar con en la interpretaci\u00f3n de los ejercicios para valores obtenidos antes de t=0 que es el punto inicial de observaci\u00f3n.<\/p>\n\n\n\n<p>Resultados con el Algoritmo en Sympy-Python<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code> ZIR(t):\n     -t      -2*t\n- 5*e   + 5*e    \n\n h(t):\n\/   -t      -2*t\\             \n\\- e   + 2*e    \/*Heaviside(t)\n\n ZSR(t):\n     -t                    -2*t                    -3*t             \n- 5*e  *Heaviside(t) + 20*e    *Heaviside(t) - 15*e    *Heaviside(t)\nxcausal:  True\nhcausal:  True\nlimites de integral: &#091; 0 , t ]\n\n y(t) = ZIR(t)+ZSR(t):\n     -t                   -t       -2*t                   -2*t       -3*t     \n- 5*e  *Heaviside(t) - 5*e   + 20*e    *Heaviside(t) + 5*e     - 15*e    *Heaviside(t)\n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<p>Gr\u00e1ficas de y(t) = ZIR(t)+ZSR(t)<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"567\" height=\"443\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/LTIC_Ejercicio01Y_totalSympy.png\" alt=\"LTIC_Ejercicio01Y_totalSympy\" class=\"wp-image-19664\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"441\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/LTIC_Ejercicio01ht_Sympy1.png\" alt=\"LTIC_Ejercicio01ht_Sympy\" class=\"wp-image-19665\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/08\/LTIC_Ejercicio01ht_Sympy.png\"><img decoding=\"async\" src=\"https:\/\/blog.espol.edu.ec\/telg1001\/files\/2017\/08\/LTIC_Ejercicio01ht_Sympy.png\" alt=\"LTIC Ejercicio 01 ht Sympy\" class=\"wp-image-4547\" \/><\/a><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"537\" height=\"445\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/LTIC_Ejercicio01ZSR_Sympy.png\" alt=\"LTIC Ejercicio 01 ZSR Sympy\" class=\"wp-image-19666\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/LTIC_YTotal_ZIR_Ej01_animado.gif\" alt=\"LTIC YTotal ZIR Ej01 gr\u00e1fico animado\" class=\"wp-image-19667\" \/><\/figure>\n\n\n\n<p>Algoritmo en Python<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Respuesta total del sistema\n# y(t) = ZIR(t) + ZSR(t)\n# https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-unidades\/#unidad3\n# Revisar causalidad de x(t) y h(t)\nimport numpy as np\nimport sympy as sym\nimport matplotlib.pyplot as plt\nimport telg1001 as ss\nequivalentes = &#x5B;{'DiracDelta': lambda x: 1*(x==0)},\n                {'Heaviside': lambda x,y: np.heaviside(x, 1)},\n                'numpy',]\n\n# INGRESO\nt = sym.Symbol('t',real=True)\ntau = sym.Symbol('tau',real=True)\ny = sym.Function('y')\nx = sym.Function('x')\nh = sym.Function('h')\nu = sym.Heaviside(t)\n\n# ecuacion: lado izquierdo = lado derecho\n#           Left Hand Side = Right Hand Side\nLHS = sym.diff(y(t),t,2) + 3*sym.diff(y(t),t,1) + 2*y(t)\nRHS = sym.diff(x(t),t,1,evaluate=False)\necuacion = sym.Eq(LHS,RHS)\n\n# condiciones iniciales &#x5B;y'(t0),y(t0)]\nt0 = 0\ncond_inicio = &#x5B;-5,0]\n\n# entrada x(t)\nx = 10*sym.exp(-3*t)*u\n\n# grafica intervalo &#x5B;t_a,t_b]\nt_a = 0; t_b = 5\nmuestras = 201\n\n# PROCEDIMIENTO\n# Respuesta entrada cero ZIR\nsol_ZIR = ss.respuesta_ZIR(ecuacion,cond_inicio,t0)\nZIR = sol_ZIR&#x5B;'ZIR']\n\n# Respuesta al impulso h(t)\nsol_h = ss.respuesta_impulso_h(ecuacion)\nh = sol_h&#x5B;'h']\n\n# respuesta a estado cero ZSR\nsol_ZSR = ss.respuesta_ZSR(x,h)\nZSR = sol_ZSR&#x5B;'ZSR']\nxh  = sol_ZSR&#x5B;'xh']\n\n# respuesta a y(t) = ZIR(t)+ZSR(t)\ny_total = ZIR+ZSR\n\n# revisa si grafica ZSR\nif not(sol_ZSR&#x5B;'cond_graf']):\n    print('revisar acortar x(t) o h(t) para BIBO')\n    \n# SALIDA\nprint('\\n ZIR(t):')\nsym.pprint(ZIR)\n\nprint('\\n h(t):')\nsym.pprint(h)\n\nprint('\\n ZSR(t):')\nsym.pprint(ZSR)\nprint('xcausal: ',sol_ZSR&#x5B;'xcausal'])\nprint('hcausal: ',sol_ZSR&#x5B;'hcausal'])\nprint('limites de integral:', sol_ZSR&#x5B;'&#x5B;tau_a,tau_b]'])\n\nprint('\\n y(t) = ZIR(t)+ZSR(t):')\nsym.pprint(y_total)\n\n# GRAFICA\nfigura_ZIR = ss.graficar_ft(ZIR,t_a,t_b,\n                              muestras,'ZIR')\nfigura_h   = ss.graficar_ft(h,t_a,t_b,\n                              muestras,'h')\n# grafica animada de convoluci\u00f3n\nn_archivo = '' # sin crear archivo gif animado \n# n_archivo = 'LTIC_YTotal_ZIR_Ej01' # requiere 'pillow'\nif sol_ZSR&#x5B;'cond_graf']:\n    fig_ZSR = ss.graficar_xh_y(x,h,ZSR,t_a,t_b,\n                                 muestras,y_nombre='ZSR')\n    fig_ytotal = ss.graficar_xhy(ZIR,ZSR,y_total,t_a,t_b,\n                                   muestras,x_nombre='ZIR',\n                                   h_nombre='ZSR',y_nombre='y')\n    figura_animada = ss.graf_animada_xh_y(x,h,ZSR,-t_b,t_b,\n                      muestras, reprod_x = 4,y_nombre='ZSR',\n                      archivo_nombre = n_archivo)\nplt.show()\n<\/pre><\/div>\n\n\n<p>El algoritmo en Sympy incorpora los pasos realizados con el desarrollo anal\u00edtico de soluci\u00f3n a ecuaciones diferenciales lineales.<\/p>\n\n\n\n<p>Existen otros m\u00e9todos como el de Transformada de Laplace que simplifica el paso de realizar el integral de convoluci\u00f3n, pues al cambiar al dominio 's' en lugar de tiempo las operaciones son mayoritariamente sobre polinomios. La siguiente unidad desarrolla el tema.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>La respuesta total del sistema integra las respuestas obtenidas para entrada cero y estado cero. Se resume el desarrollo de un ejercicio con todos los componentes para el ejemplo 1 Modelo entrada-salida para circuitos RLC realizada con Sympy-Python y las funciones del curso en telg1001.py. Respuestatotal = respuesta aentrada cero + respuesta aestado cero &nbsp; [&hellip;]<\/p>\n","protected":false},"author":8043,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"wp-custom-template-entrada-ss-unidades","format":"standard","meta":{"footnotes":""},"categories":[171],"tags":[],"class_list":["post-4538","post","type-post","status-publish","format-standard","hentry","category-ss-u03"],"_links":{"self":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4538","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/users\/8043"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/comments?post=4538"}],"version-history":[{"count":5,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4538\/revisions"}],"predecessor-version":[{"id":24001,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/4538\/revisions\/24001"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=4538"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=4538"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=4538"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}