Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Transformada de Laplace

Definición

Es una función matemática que utilizaremos para transformar señales en el dominio temporal a un dominio de frecuencia generalizada, que llamaremos dominio transformado de Laplace.

La transformada de Laplace se define como

F(s)=L{f(t)}=0f(t)estdtF(s) = \mathcal{L}\{f(t)\} = \int_0^\infty f(t) e^{-st} \mathrm{dt}

donde ss es una variable compleja s=σ+jωs = \sigma + j\omega.

Antitransformada de Laplace

Se puede demostrar que teniendo la función transformada F(s)F(s), se puede recuperar la función en el dominio temporal f(t)f(t) aplicando la anti-transformada de Laplace:

f(t)=L1{F(s)}=12πjσjωσ+jωF(s)estds.f(t)=\mathcal{L}^{-1}\{F(s)\} =\frac{1}{2\pi j} \int_{\sigma-j\omega}^{\sigma+j\omega} F(s) e^{st} ds .
Tabla de transformadas de Laplace

Figure 1:Tabla de transformas de Laplace

Propiedades de la Transformada de Laplace

El teorema del valor final lo estaremos usando en las próximas clases para analizar que sucede con la salida de cun sistema luego de un tiempo muy largo (infinito).

Cálculo de la transformada de Laplace mediante SymPy

Durante el transcurso de este curso utilizaremos las tablas para las obtener la transformada y antitransformada de Laplace. Sin embargo, aquí se presenta como material adicional para quien le interese, la forma de obtener estas funciones mediante el uso de SymPy

import sympy as sp
sp.init_printing() # para que imprima las ecuaciones bonitas

Vamos a definir algunos símbolos para trabajar. Aquí usamos Symbol para poder especificar los dominios y las restricciones en los símbolos.

t = sp.Symbol('t')
s = sp.Symbol('s')
a = sp.Symbol('a', real=True, positive=True)

Comenzamos con una función simple.

f = sp.exp(-a*t)
f
Loading...

Podemos evaluar la integral directamente usando integrate:

sp.integrate(f*sp.exp(-s*t), (t, 0, sp.oo))
Loading...

Esto funciona, pero es un poco incómodo tener todas las condiciones de la transformada allí.

SymPy proporciona una función llamada laplace_transform que hace esto de manera más eficiente. Por defecto, también devolverá las condiciones de convergencia (recordar que esto es una integral impropia, con un límite infinito, por lo que no siempre convergerá).

sp.laplace_transform(f, t, s)
Loading...

Si queremos solo la función, podemos especificar noconds = True.

F = sp.laplace_transform(f, t, s, noconds=True)
F
Loading...

Nos resultará útil definir una versión más rápida de esto:

def L(f):
    return sp.laplace_transform(f, t, s, noconds=True)

Las inversas son simples también,

def invL(F):
    return sp.inverse_laplace_transform(F, s, t)

Con invL ahora definida podemos calcular fácilmente la inversa de la transformada inversa de Laplace para FF.

invL(F)
Loading...

La función de escalón unitario también se conoce también como Heaviside. Veremos esta función a menudo en las transformaciones inversas de Laplace. Es nombrada como θ(t)\theta(t) por sympy.

sp.Heaviside(t)
sp.plot(sp.Heaviside(t));
<Figure size 640x480 with 1 Axes>
invL(F).subs({a: 2})
Loading...
p = sp.plot(f.subs({a: 2}), invL(F).subs({a: 2}), 
               xlim=(-1, 4), ylim=(0, 3), show=False)
p[1].line_color = 'red'
p[1].line_color
p.show()
<Figure size 640x480 with 1 Axes>

A ver si podemos igualar las funciones en la tabla.

omega = sp.Symbol('omega', real=True)
n = sp.Symbol('n', integer=True)
exp = sp.exp
sin = sp.sin
cos = sp.cos
functions = [1,
         t,
         exp(-a*t),
         t*exp(-a*t),
         t**2*exp(-a*t),
         sin(omega*t),
         cos(omega*t),
         1 - exp(-a*t),
         exp(-a*t)*sin(omega*t),
         exp(-a*t)*cos(omega*t),
         (t**n)*(exp(-a*t))
         ]
functions
Loading...
Fs = [L(f) for f in functions]
Fs
Loading...

Podemos ver que la última no la escribo exactamente de la misma manera, pero que es lo misma función transformada de Laplace que figura en la tabla.

Inversas más complicadas

¿Por qué la tabla no presenta funciones más complicadas? Debido a que las funciones racionales de orden superior se pueden escribir como sumas de funciones más simples mediante la aplicación de la expansión de fracciones parciales.

F = ((s + 1)*(s + 2)* (s + 3))/((s + 4)*(s + 5)*(s + 6))
invL(F)
Loading...