{"id":543,"date":"2017-04-03T09:30:29","date_gmt":"2017-04-03T14:30:29","guid":{"rendered":"http:\/\/blog.espol.edu.ec\/telg1001\/?p=543"},"modified":"2026-04-12T16:24:52","modified_gmt":"2026-04-12T21:24:52","slug":"lti-ct-respuesta-entrada-cero-python","status":"publish","type":"post","link":"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-u03\/lti-ct-respuesta-entrada-cero-python\/","title":{"rendered":"3.2.1 LTI CT - Respuesta a entrada cero ZIR con Sympy-Python"},"content":{"rendered":"\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"ejercicio\">1. Ejercicio: Respuesta a entrada cero ZIR para un sistema LTI CT<\/h2>\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>Para encontrar la&nbsp;&nbsp;<a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-unidades\/ss-u03\/ss-u03-simular\/lti-ct-respuesta-entrada-cero-diagrama-bloques\/\" data-type=\"post\" data-id=\"17799\">Respuesta a entrada cero<\/a> del sistema lineal del <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-unidades\/ss-u03\/sistema-modelo-entrada-salida\/\" data-type=\"post\" data-id=\"522\">Modelo entrada-salida<\/a>, representado por un circuito, se plantea la ecuaci\u00f3n diferencial lineal escrita desde el termino de mayor orden. <\/p>\n\n\n\n<p>Por ejemplo:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{d^2}{dt^2}y(t) +3\\frac{d}{dt}y(t) + 2y(t) = \\frac{d}{dt}x(t) <\/span>\n\n\n\n<p>Luego se se simplifica haciendo <strong>x(t)=0<\/strong>, obteniendo ecuaci\u00f3n complementaria relacionada a la forma homog\u00e9nea de la ecuaci\u00f3n diferencial.<\/p>\n\n\n\n<p><span class=\"wp-katex-eq katex-display\" data-display=\"true\"> \\frac{d^2}{dt^2}y(t) +3\\frac{d}{dt}y(t) + 2y(t) = 0 <\/span><br><a name=\"ejemplo1\"><\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"planteo\">2. Planteamiento con Sympy<\/h2>\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 Ejemplo 2.1.a p155, Oppenheim 2.4.1 p117, <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-unidades\/ss-u03\/sistema-modelo-entrada-salida\/#rlcdiff\" data-type=\"link\" data-id=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/ss-unidades\/ss-u03\/sistema-modelo-entrada-salida\/#rlcdiff\">ejemplo RLC Modelo entrada-salida<\/a>, <a href=\"https:\/\/docs.sympy.org\/latest\/modules\/solvers\/ode.html\">Sympy ODE solver<\/a><\/p>\n\n\n\n<p>El circuito que representa la respuesta a entrada cero tiene x(t)=0 como se muestra en la figura.<\/p>\n\n\n\n<p>La ecuaci\u00f3n diferencial con operadores D es:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> (D^2 + 3D +2)y(t) = 0 <\/span>\n\n\n\n<p>Adicionalmente, para el desarrollo se indican las condiciones iniciales y'(0)=-5, y(0)=0.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"Respuesta a Entrada Cero de un Sistema LTI con Sympy-Python. Se\u00f1ales y Sistemas\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/ornXFfapUss?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>La librer\u00eda <em><strong>Sympy<\/strong><\/em>-Python permite usar expresiones de derivadas en forma simb\u00f3lica y resolverlas siguiendo los pasos seguidos en la soluci\u00f3n anal\u00edtica.<\/p>\n\n\n\n<p>Para iniciar el algoritmo, se define la <strong><em>variable<\/em><\/strong> independiente <strong>t<\/strong> como un s\u00edmbolo y las <strong><em>funci\u00f3n<\/em><\/strong> matem\u00e1tica <strong>y(t)<\/strong> para la salida y x(t) para la entrada.<\/p>\n\n\n\n<p>La <strong>ecuaci\u00f3n<\/strong> diferencial se escribe siguiendo el orden de los lados de expresi\u00f3n denominados para la parte izquierda, LHS, y la parte derecha, RHS.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\nimport sympy as sym\n\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)\ny = sym.Function('y')\nx = sym.Function('x')\n\n# ecuacion EDO: 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,evaluate=False)\necuacion_edo = sym.Eq(LHS,RHS)\n\n# condiciones iniciales &#x5B;y'(t0),y(t0)]\nt0 = 0\ncond_inicio = &#x5B;-5,0]\n<\/pre><\/div>\n\n\n<p>Las condiciones iniciales y\u2019(0)=-5, y(0)=0 , se agrupan en una lista <code>cond_inicio=[y'(t0),y(t0)]<\/code> siguiendo el orden descendente de derivada, semejante al orden seguido al escribir la ecuaci\u00f3n diferencial. El orden usado facilita la compatibilidad con las soluciones num\u00e9ricas a realizar con Scipy-Python.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"general\">3. Soluci\u00f3n general de la ecuaci\u00f3n diferencial lineal homog\u00e9nea<\/h2>\n\n\n\n<p>Se obtiene la ecuaci\u00f3n homog\u00e9nea aplicando x(t)=0 al lado derecho de la ecuaci\u00f3n diferencial (RHS).<\/p>\n\n\n\n<p>La soluci\u00f3n <strong>general<\/strong> de la EDO se obtiene mediante la instrucci\u00f3n <code>sym.dsolve()<\/code> aplicada a la <strong>ecuaci\u00f3n<\/strong>, indicando que se busca resolver para y(t). Para facilitar el procesamiento con Sympy, las ecuaciones se expresan con&nbsp; t\u00e9rminos mas simples de sumas, aplicando la instrucci\u00f3n <code>sym.expand()<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; first-line: 26; title: ; notranslate\" title=\"\">\n# ecuacion homogenea x(t)=0, entrada cero\nRHSx0 = ecuacion.rhs.subs(x(t),0).doit()\nLHSx0 = ecuacion.lhs.subs(x(t),0).doit()\nhomogenea = LHSx0 - RHSx0\n\n# solucion general entrada cero\ngeneral = sym.dsolve(homogenea, y(t))\ngeneral = general.expand()\n<\/pre><\/div>\n\n\n<p>Con lo que se obtiene la soluci\u00f3n <strong>general<\/strong> mostrada con <code>sym.pprint()<\/code>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>           -t       -2*t\ny(t) = C1*e   + C2*e    <\/code><\/pre>\n\n\n\n<p>Las condiciones iniciales se aplican a la soluci\u00f3n <strong>general<\/strong> para encontrar la soluci\u00f3n homog\u00e9nea o <strong>ZIR<\/strong>. Para aplicar cada condici\u00f3n inicial se usa el lado derecho (<code>.rhs<\/code> )de la ecuaci\u00f3n <strong>general<\/strong>, por ejemplo:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y'_0 (0) = -5 <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y'(t)\\Big|_{t=0} = \\frac{d}{dt}\\left[ c_1 e^{-t} + c_2 e^{-2t}\\right]\\Big|_{t=0}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> =\\left[ -c_1 e^{-t} -2c_2 e^{-2t}\\right] \\Big|_{t=0} <\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> = -c_1 e^{-0} -2c_2 e^{-2(0)}<\/span>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> -c_1 -2c_2 = -5 <\/span>\n\n\n\n<p>Se realiza lo mismo para y(0)=0<\/p>\n\n\n\n<p>Cada condici\u00f3n inicial genera una ecuaci\u00f3n que se agrupa en un sistema de ecuaciones, <code>eq_condicion=[]<\/code>. El sistema de ecuaciones se resuelve con la instrucci\u00f3n <code>sym.solve()<\/code>, que entrega las <strong>constante<\/strong>s para las inc\u00f3gnitas <code>C1<\/code> y <code>C2<\/code> en un diccionario.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; first-line: 35; title: ; notranslate\" title=\"\">\n# aplica condiciones iniciales \nN = sym.ode_order(LHS,y) # orden Q(D)\neq_condicion = &#x5B;]\nfor k in range(0,N,1):\n    ck   = cond_inicio&#x5B;(N-1)-k]\n    dyk  = general.rhs.diff(t,k)\n    dyk  = dyk.subs(t,t0)\n    eq_k = sym.Eq(ck,dyk)\n    eq_condicion.append(eq_k)\n    \nconstante = sym.solve(eq_condicion)\n<\/pre><\/div>\n\n\n<p>El resultado de <strong>eq_condicion<\/strong> y las <strong>constante<\/strong>s obtenidas se muestra a continuaci\u00f3n<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code> 0 =  C1 +   C2\n-5 = -C1 - 2*C2\n{C1: -5, C2: 5}<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"homogenea\">4. Soluci\u00f3n de ecuaci\u00f3n diferencial lineal homog\u00e9nea<\/h2>\n\n\n\n<p>La soluci\u00f3n homog\u00e9nea o <strong>ZIR<\/strong> de la ecuaci\u00f3n diferencial se obtiene al sustituir las <strong>constante<\/strong>s encontradas en la ecuaci\u00f3n <strong>general<\/strong>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; first-line: 47; title: ; notranslate\" title=\"\">\n# reemplaza las constantes en general\ny_c = general\nfor Ci in constante:\n    y_c = y_c.subs(Ci, constante&#x5B;Ci])\n# ecuacion complementaria o respuesta a entrada cero ZIR\nZIR = y_c.rhs\n<\/pre><\/div>\n\n\n<p>obteniendo soluci\u00f3n a la ecuaci\u00f3n homog\u00e9nea '<strong>y<\/strong>', o respuesta a entrada cero <em><strong>ZIR<\/strong><\/em>, mostrada con <code>sym.pprint(y_homogenea)<\/code>. Para <strong>ZIR<\/strong> se toma el dado derecho de y_homogenea.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>            -t      -2*t\ny(t) = - 5*e   + 5*e<\/code><\/pre>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> y(t) = -5 e^{-t} + 5 e^{-2t} <\/span>\n\n\n\n<p>resultado del algoritmo:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>ecuaci\u00f3n diferencial a resolver: \n                        2                 \n           d           d          d       \n2\u22c5y(t) + 3\u22c5\u2500\u2500(y(t)) + \u2500\u2500\u2500(y(t)) = \u2500\u2500(x(t))\n           dt           2         dt      \n                      dt                  \nclasifica EDO:\n  factorable\n  nth_linear_constant_coeff_variation_of_parameters\n  nth_linear_constant_coeff_variation_of_parameters_Integral\necuaci\u00f3n diferencial homogenea: \n                        2      \n           d           d       \n2\u22c5y(t) + 3\u22c5\u2500\u2500(y(t)) + \u2500\u2500\u2500(y(t))\n           dt           2      \n                      dt       \n\nSoluci\u00f3n general: \n           -t       -2\u22c5t\ny(t) = C\u2081\u22c5\u212f   + C\u2082\u22c5\u212f    \n\nEcuaciones de condiciones iniciales:\n0 = C\u2081 + C\u2082\n-5 = -C\u2081 - 2\u22c5C\u2082\nconstantes en solucion general:  {C1: -5, C2: 5}\n\nZIR(t):\n     -t      -2\u22c5t\n- 5\u22c5\u212f   + 5\u22c5\u212f    \n&gt;&gt;&gt; <\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"algoritmo\">5. Algoritmo en Python<\/h2>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Respuesta a entrada cero ZIR con Sympy\n# Lathi 2.1.a pdf 155, (D^2+ 3D + 2)y = Dx\nimport sympy as sym\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)\ny = sym.Function('y')\nx = sym.Function('x')\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# PROCEDIMIENTO\nedo_tipo = sym.classify_ode(ecuacion, y(t))\n\n# ecuaci\u00f3n homog\u00e9nea x(t)=0, entrada cero\nRHSx0 = ecuacion.rhs.subs(x(t),0).doit()\nLHSx0 = ecuacion.lhs.subs(x(t),0).doit()\nhomogenea = LHSx0 - RHSx0\n\n# solucion general de ecuaci\u00f3n homog\u00e9nea\ngeneral = sym.dsolve(homogenea, y(t))\ngeneral = general.expand()\n\n# aplica condiciones iniciales \nN = sym.ode_order(ecuacion,y(t)) # orden Q(D)\neq_condicion = &#x5B;]\nfor k in range(0,N,1):\n    ck   = cond_inicio&#x5B;(N-1)-k]\n    dyk  = general.rhs.diff(t,k)\n    dyk  = dyk.subs(t,t0)\n    eq_k = sym.Eq(ck,dyk)\n    eq_condicion.append(eq_k)\n    \nconstante = sym.solve(eq_condicion)\n\n# reemplaza las constantes en general\ny_c = general\nfor Ci in constante:\n    y_c = y_c.subs(Ci, constante&#x5B;Ci])\n# respuesta a entrada cero ZIR\nZIR = y_c.rhs\n\n# SALIDA\nprint('ecuaci\u00f3n diferencial a resolver: ')\nsym.pprint(ecuacion)\n\nprint('clasifica EDO:')\nfor elemento in edo_tipo:\n    print(' ',elemento)\n\nprint('ecuaci\u00f3n diferencial homogenea: ')\nsym.pprint(homogenea)\n\nprint('\\nSoluci\u00f3n general: ')\nsym.pprint(general)\n\nprint('\\nEcuaciones de condiciones iniciales:')\nfor eq_k in eq_condicion:\n    sym.pprint(eq_k)\nprint('constantes en solucion general: ', constante)\nprint('\\nZIR(t):')\nsym.pprint(ZIR)\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"grafica\">6. Gr\u00e1fica de respuesta a entrada cero ZIR<\/h2>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"569\" height=\"438\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2023\/09\/respuestaEntradaCero01Sympy.png\" alt=\"respuesta Entrada Cero Sympy\" class=\"wp-image-13856\" \/><\/figure>\n\n\n\n<p>Adicionalmente se realiza la gr\u00e1fica, convirtiendo la ecuaci\u00f3n de forma simb\u00f3lica a forma num\u00e9rica numpy con <code>sym.lambdify(t,ZIR,'numpy')<\/code>.<\/p>\n\n\n\n<p>Se establece el intervalo de observaci\u00f3n entre t_a=0 y t_b=5 para evaluar la funci\u00f3n y se env\u00eda a la gr\u00e1fica, con el suficiente n\u00famero de <em><strong>muestras<\/strong><\/em> para que la gr\u00e1fica se muestre suave.<\/p>\n\n\n\n<p>Se a\u00f1aden las siguientes instrucciones al algoritmo anterior:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; first-line: 74; title: ; notranslate\" title=\"\">\n# GRAFICA ------------------\nimport numpy as np\nimport matplotlib.pyplot as plt\n\n# INGRESO\nt_a = 0 ; t_b = 5 # intervalo tiempo &#x5B;t_a,t_b]\nmuestras = 51\nuntitulo = 'ZIR(t)='+str(ZIR)\n\n# PROCEDIMIENTO\nyt = sym.lambdify(t,ZIR, modules=equivalentes) \nti = np.linspace(t_a,t_b,muestras)\nyi = yt(ti)\n\n# GRAFICA\nplt.plot(ti,yi, color='orange', label='ZIR(t)')\n\nplt.ylabel('y(t)')\nplt.xlabel('t')\nplt.title(untitulo)\nplt.grid()\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"zir-raicesrepetidas\">7. Ejemplo 2. Respuesta a entrada cero ZIR con ra\u00edces caracter\u00edsticas repetidas<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Lathi Ejemplo 2.1.b p155<\/p>\n\n\n\n<p>Encontrar y<sub>0<\/sub>(t), la respuesta a entrada cero para un sistema LTI CT descrito&nbsp; por la ecuaci\u00f3n diferencial lineal de orden 2:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> (D^2 + 6D +9)y(t) = (3D+5)x(t) <\/span>\n\n\n\n<p>con las condiciones iniciales y(0) = 3, y'(0)=-7<\/p>\n\n\n\n<p>El sistema tiene un polinomio caracter\u00edstico de ra\u00edces repetidas. El resultado usando el algoritmo se muestra a continuaci\u00f3n:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>clasifica EDO:\n  factorable\n  nth_linear_constant_coeff_variation_of_parameters\n  nth_linear_constant_coeff_variation_of_parameters_Integral\nhomogenea :\n                        2          \n           d           d           \n9\u22c5y(t) + 6\u22c5\u2500\u2500(y(t)) + \u2500\u2500\u2500(y(t)) = 0\n           dt           2          \n                      dt           \ngeneral :\n           -3\u22c5t         -3\u22c5t\ny(t) = C\u2081\u22c5\u212f     + C\u2082\u22c5t\u22c5\u212f    \neq_condicion :\n3 = C\u2081\n-7 = -3\u22c5C\u2081 + C\u2082\nconstante : {C1: 3, C2: 2}\nZIR :\n     -3\u22c5t      -3\u22c5t\n2\u22c5t\u22c5\u212f     + 3\u22c5\u212f    <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"553\" height=\"439\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/respuestaEntradaCero02Sympy.png\" alt=\"respuesta Entrada Cero 02 Sympy\" class=\"wp-image-19591\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Algoritmo en Python<\/h3>\n\n\n\n<p>Se reordena el algoritmo del ejercicio anterior para disponer de funciones que simplifiquen las instrucciones principales para obtener las respuestas de los ejercicios. Se crean las funciones <code>respuesta_ZIR()<\/code> y <code>graficar_ft()<\/code> que luego pasar\u00e1n a ser parte de los algoritmos del curso en <a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/algoritmos-telg1001-py\/\" data-type=\"page\" data-id=\"17852\">telg1001.py<\/a>.<\/p>\n\n\n\n<p>Para las definiciones de RHS y LHS dentro de la funci\u00f3n se usa ecuaci\u00f3n.rhs y ecuaci\u00f3n.lhs.<\/p>\n\n\n\n<p>En el diccionario soluci\u00f3n, se incorpora la respuesta en la entrada <code>'ZIR'<\/code>.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Respuesta a entrada cero ZIR con Sympy-Python\n# https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-unidades\/#unidad3\n# Lathi 2.1.b pdf 155, (D^2+ 6D + 9)y = (3D+5)x\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport sympy as sym\nequivalentes = &#x5B;{'DiracDelta': lambda x: 1*(x==0)},\n                {'Heaviside': lambda x,y: np.heaviside(x, 1)},\n                'numpy',]\nimport telg1001 as ss\n\n# INGRESO\nt = sym.Symbol('t', real=True)\ny = sym.Function('y')\nx = sym.Function('x')\n\n# ecuacion: lado izquierdo = lado derecho\n#           Left Hand Side = Right Hand Side\nLHS = sym.diff(y(t),t,2) + 6*sym.diff(y(t),t,1) + 9*y(t)\nRHS = 3*sym.diff(x(t),t,1,evaluate=False)+5*x(t)\necuacion = sym.Eq(LHS,RHS)\n\n# condiciones iniciales &#x5B;y'(t0),y(t0)]\nt0 = 0\ncond_inicio = &#x5B;-7,3]\n\n# Grafica: intervalo tiempo &#x5B;t_a,t_b]\nt_a = 0\nt_b = 5\nmuestras = 51\n\n# PROCEDIMIENTO\ndef respuesta_ZIR(ecuacion,cond_inicio=&#x5B;],t0=0,\n                y = sym.Function('y'),x = sym.Function('x')):\n    ''' Sympy: ecuacion: diferencial en forma(LHS,RHS),\n        condiciones de inicio t0 y &#x5B;y'(t0),y(t0)]\n        cond_inicio en orden descendente derivada\n    '''\n    # ecuacion homogenea x(t)=0, entrada cero\n    RHSx0 = ecuacion.rhs.subs(x(t),0).doit()\n    LHSx0 = ecuacion.lhs.subs(x(t),0).doit()\n    homogenea = LHSx0 - RHSx0\n\n    # solucion general entrada cero\n    general = sym.dsolve(homogenea,y(t))\n    general = general.expand()\n\n    # aplica condiciones iniciales \n    N = sym.ode_order(ecuacion,y(t)) # orden Q(D)\n    eq_condicion = &#x5B;]\n    for k in range(0,N,1):\n        ck   = cond_inicio&#x5B;(N-1)-k]\n        dyk  = general.rhs.diff(t,k)\n        dyk  = dyk.subs(t,t0)\n        eq_k = sym.Eq(ck,dyk)\n        eq_condicion.append(eq_k)\n        \n    constante = sym.solve(eq_condicion)\n\n    # reemplaza las constantes en general\n    y_c = general\n    for Ci in constante:\n        y_c = y_c.subs(Ci, constante&#x5B;Ci])\n    # respuesta a entrada cero ZIR\n    ZIR = y_c.rhs\n    \n    sol_ZIR = {'homogenea'   : sym.Eq(homogenea,0),\n               'general'     : general,\n               'eq_condicion': eq_condicion,\n               'constante'   : constante,\n               'ZIR' : ZIR,}\n    return(sol_ZIR)\n\nedo_tipo = sym.classify_ode(ecuacion, y(t))\n# Respuesta entrada cero ZIR\nsol_ZIR = respuesta_ZIR(ecuacion,cond_inicio,t0)\nZIR = sol_ZIR&#x5B;'ZIR']\n\n# SALIDA\nprint('clasifica EDO:')\nfor elemento in edo_tipo:\n    print(' ',elemento)\nss.print_resultado_dict(sol_ZIR)\n\n# GRAFICA ------------------\nfigura_ZIR = ss.graficar_ft(ZIR,t_a,t_b,muestras,'ZIR')\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"zir-raicescomplejas\">8. Ejemplo: EDO y respuesta a entrada cero ZIR con ra\u00edces complejas<\/h2>\n\n\n\n<p><em><strong>Referencia<\/strong><\/em>: Lathi Ejemplo 2.1.c p155<\/p>\n\n\n\n<p>Encontrar y<sub>0<\/sub>(t), la respuesta a entrada cero para un sistema LTI CT descrito&nbsp; por la ecuaci\u00f3n diferencial ordinaria de orden 2:<\/p>\n\n\n<span class=\"wp-katex-eq katex-display\" data-display=\"true\"> (D^2 + 4D +40)y(t) = (D+2)x(t) <\/span>\n\n\n\n<p>con condiciones iniciales y(0) = 2, y'(0)=16.78<\/p>\n\n\n\n<p><em><strong>Tarea<\/strong><\/em>: Use el algoritmo del ejercicio anterior y modifique lo necesario para realizar el ejercicio. Realice el desarrollo anal\u00edtico en papel y l\u00e1piz y compare. En caso de ser necesario, proponga mejoras al algoritmo presentado.<\/p>\n\n\n\n<p>Los resultados con el algoritmo son:<\/p>\n\n\n\n<pre class=\"wp-block-code alignwide\"><code>clasifica EDO:\n  factorable\n  nth_linear_constant_coeff_variation_of_parameters\n  nth_linear_constant_coeff_variation_of_parameters_Integral\nhomogenea :\n                         2          \n            d           d           \n40\u22c5y(t) + 4\u22c5\u2500\u2500(y(t)) + \u2500\u2500\u2500(y(t)) = 0\n            dt           2          \n                       dt           \ngeneral :\n           -2\u22c5t                -2\u22c5t         \ny(t) = C\u2081\u22c5\u212f    \u22c5sin(6\u22c5t) + C\u2082\u22c5\u212f    \u22c5cos(6\u22c5t)\neq_condicion :\n2 = C\u2082\n16.78 = 6\u22c5C\u2081 - 2\u22c5C\u2082\nconstante : {C1: 3.46333333333333, C2: 2.00000000000000}\nZIR :\n                  -2\u22c5t                 -2\u22c5t         \n3.46333333333333\u22c5\u212f    \u22c5sin(6\u22c5t) + 2.0\u22c5\u212f    \u22c5cos(6\u22c5t)\n&gt;&gt;&gt;<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"480\" src=\"http:\/\/blog.espol.edu.ec\/algoritmos101\/files\/2017\/04\/respuestaEntradaCero03Sympy.png\" alt=\"respuesta Entrada Cero 03 Sympy\" class=\"wp-image-19592\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"funcion\">Algoritmo en Python con funciones<\/h3>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\n# Respuesta a entrada cero ZIR con Sympy-Python\n# https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-unidades\/#unidad3\n# Lathi 2.1.c pdf 155, (D^2+ 4D + 40)y = (D+2)x\nimport numpy as np\nimport matplotlib.pyplot as plt\nimport sympy as sym\nequivalentes = &#x5B;{'DiracDelta': lambda x: 1*(x==0)},\n                {'Heaviside': lambda x,y: np.heaviside(x, 1)},\n                'numpy',]\nimport telg1001 as ss\n\n# INGRESO\nt = sym.Symbol('t', real=True)\ny = sym.Function('y')\nx = sym.Function('x')\n\n# ecuacion: lado izquierdo = lado derecho\n#           Left Hand Side = Right Hand Side\nLHS = sym.diff(y(t),t,2) + 4*sym.diff(y(t),t,1) + 40*y(t)\nRHS = sym.diff(x(t),t,1,evaluate=False)+2*x(t)\necuacion = sym.Eq(LHS,RHS)\n\n# condiciones iniciales &#x5B;y'(t0),y(t0)]\nt0 = 0\ncond_inicio = &#x5B;16.78,2]\n\n# Grafica: intervalo tiempo &#x5B;t_a,t_b]\nt_a = 0 ; t_b = 5\nmuestras = 51\n\n# PROCEDIMIENTO\nedo_tipo = sym.classify_ode(ecuacion, y(t))\n# Respuesta entrada cero ZIR\nsol_ZIR = ss.respuesta_ZIR(ecuacion,cond_inicio,t0)\nZIR = sol_ZIR&#x5B;'ZIR']\n\n# SALIDA\nprint('clasifica EDO:')\nfor elemento in edo_tipo:\n    print(' ',elemento)\nss.print_resultado_dict(sol_ZIR)\n\n# GRAFICA ------------------\nfigura_ZIR = ss.graficar_ft(ZIR,t_a,t_b,muestras,'ZIR')\nplt.show()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">9. Resumen de funciones de Se\u00f1ales y Sistemas telg1001.py<\/h2>\n\n\n\n<p>Las funciones y procedimientos desarrolladas para uso posterior se agrupan en un archivo resumen <strong><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/senales\/ss-algoritmos-telg1001-py\/\" data-type=\"page\" data-id=\"17852\">telg1001.py<\/a><\/strong>.<\/p>\n\n\n\n<p>Use una copia del archivo como <strong>telg1001.py<\/strong> en el directorio de trabajo, e incorpore las funciones&nbsp; con <code>import<\/code> y use en el algoritmo llamando a la funci\u00f3n con <code>ss.funcion()<\/code>.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code><span style=\"color: #d35400\">import<\/span> telg1001 <span style=\"color: #d35400\">as<\/span> ss\nrespuesta = ss.funcion(parametros)<\/code><\/pre>\n\n\n\n<p>Al desarrollar m\u00e1s funciones en cada unidad, se incorporan al archivo del curso de Se\u00f1ales y Sistemas.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mostrar el resultado del diccionario seg\u00fan el tipo de entrada<\/h3>\n\n\n\n<p>Para mostrar los resultados de una forma m\u00e1s f\u00e1cil de leer, se usar\u00e1 <code>sym.pprint()<\/code> para las ecuaciones, y <code>print()<\/code> para los dem\u00e1s elementos del resultado<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code alignwide\"><pre class=\"brush: python; title: ; notranslate\" title=\"\">\ndef print_resultado_dict(resultado):\n    ''' print de diccionario resultado\n        formato de pantalla\n    '''\n    eq_sistema = &#x5B;'ZIR','h','ZSR','xh']\n    for entrada in resultado:\n        tipo = type(resultado&#x5B;entrada])\n        cond = (tipo == sym.core.relational.Equality)\n        cond = cond or (entrada in eq_sistema)\n        if cond:\n            print(entrada,':')\n            sym.pprint(resultado&#x5B;entrada])\n        elif tipo==list or tipo==tuple:\n            tipoelem = type(resultado&#x5B;entrada]&#x5B;0])\n            if tipoelem==sym.core.relational.Equality:\n                print(entrada,':')\n                for fila in resultado&#x5B;entrada]:\n                    sym.pprint(fila)\n            else:\n                print(entrada,':')\n                for fila in resultado&#x5B;entrada]:\n                    print(' ',fila)\n        else:\n            print(entrada,':',resultado&#x5B;entrada])\n    return()\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<div class=\"wp-block-group has-medium-font-size is-layout-flex wp-block-group-is-layout-flex\">\n<p>ZIR:<\/p>\n\n\n\n<p> <a href=\"#ejercicio\">Ejercicio RLC<\/a><\/p>\n\n\n\n<p><a href=\"#planteo\">plantear<\/a><\/p>\n\n\n\n<p><a href=\"#general\">general<\/a><\/p>\n\n\n\n<p><a href=\"#homogenea\">homog\u00e9nea<\/a><\/p>\n\n\n\n<p><a href=\"#algoritmo\">algoritmo<\/a><\/p>\n\n\n\n<p><a href=\"#grafica\">gr\u00e1fica<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicesrepetidas\" data-type=\"internal\" data-id=\"#zir-raicesrepetidas\">ra\u00edces repetidas<\/a><\/p>\n\n\n\n<p><a href=\"#zir-raicescomplejas\">ra\u00edces complejas<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-admin\/post.php?post=543&amp;action=edit#funcion\">funci\u00f3n<\/a><\/p>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n","protected":false},"excerpt":{"rendered":"<p>ZIR: Ejercicio RLC plantear general homog\u00e9nea algoritmo gr\u00e1fica ra\u00edces repetidas ra\u00edces complejas funci\u00f3n 1. Ejercicio: Respuesta a entrada cero ZIR para un sistema LTI CT Para encontrar la&nbsp;&nbsp;Respuesta a entrada cero del sistema lineal del Modelo entrada-salida, representado por un circuito, se plantea la ecuaci\u00f3n diferencial lineal escrita desde el termino de mayor orden. Por [&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-543","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\/543","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=543"}],"version-history":[{"count":15,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/543\/revisions"}],"predecessor-version":[{"id":24218,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/posts\/543\/revisions\/24218"}],"wp:attachment":[{"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/media?parent=543"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/categories?post=543"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.espol.edu.ec\/algoritmos101\/wp-json\/wp\/v2\/tags?post=543"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}