Vous êtes sur la page 1sur 34

Ecuaciones Diferenciales con MATLAB

8.1 INTRODUCCIÓN

La Transformada de Laplace es una aplicación que mapea el dominio del tiempo (t) en el dominio de la frecuencia
compleja (s = +j). Esto implica que los sistemas que son función del tiempo pueden ser analizados con mayor
simplicidad en el dominio de la frecuencia.

Todas las funciones se suponen distintas de cero para t  0, es decir, que dada la función f(t), entonces su
tratamiento en la transformada de Laplace L es: f(t)u(t) o f(t)u(t - to), to  0. Donde u(t) es la función escalón unitario,
paso unitario o función de Heaveside.

A estas funciones que describen a un sistema físico definidas para t o  0 se las denomina: “Funciones causales o
realizables”.

Por otra parte, se toma en cuenta un factor de convergencia e -t,  > 0, entonces se tiene una función:

g(t) = f(t)e-tu(t)

La siguiente es una condición necesaria y suficiente para que exista la transformada de Laplace:

lim f (t )e t u (t )  0
t 
8.1.1 DEFINICIÓN 1

Se define la Transformada de Laplace de la siguiente manera:


LII  f (t )  FII ( s )   f (t )e
 st
dt


L f (t )  F ( s )   f (t )e  st dt
0

A la primera se la denomina “Transformada Bilateral de Laplace”; mientras que, la segunda es la “Transformada


Unilateral de Laplace”, con s =  + j, que es la variable compleja de Laplace.

8.1.2 FUNCIONES SINGULARES

FUNCIÓN IMPULSO UNITARIO O DELTA DE DIRAC

Esta función tiene la siguiente expresión matemática:

1 𝑡=0
𝛿(𝑡) = {
0 𝑡≠0

1
Luis Cabezas Tito

O en forma general:

𝐴 𝑡 = 𝑡0
𝐴𝛿(𝑡 − 𝑡0) = {
0 𝑡 ≠ 𝑡0

Con MATLAB se lo puede graficar con el siguiente código:1

>> t=-5:5;
>> d=udelta(n); % DT impulse d[n-2]
>> dtplot(t,d,'o')
>> title('Gráfica de la señal Impulso Unitario d(t)')
>> xlabel('Variable independiente t')
>> ylabel('d(t)')

Esta función tiene muchísimas aplicaciones en la física y otras ramas de la ciencia e ingeniería como se verá más
adelante.

FUNCIÓN PASO O ESCALÓN UNITARIO – FUNCIÓN DE HEAVISIDE

Esta función singular se expresa matemáticamente como sigue:

1 𝑡≥0
𝜇(𝑡) = {
0 𝑡<0

O en forma general:

𝐴 𝑡 ≥ 𝑡0
𝐴𝜇(𝑡 − 𝑡0) = {
0 𝑡 < 𝑡0

Con MATLAB se lo grafica como sigue:

>> t = -5:.001:5;
>> f = ustep(t);
>> plot(t,f,'LineWidt',3,'Color','r');
>> axis([-5 5 -1 2])
>> hold on

1
Previa a la graficación, se debe descargar el archivo que contiene las funciones singulares para MATLAB, de nominado ADSP.rar. Se sugiere
ingresar al sitio web: http://www.4shared.com/file/8Yaf-xz0/ADSP.html (Fecha de última consulta: 11/05/14)
2
Ecuaciones Diferenciales con MATLAB

>> plot([-5 5],[0 0])


>> plot([0 0],[-1 2])
>> title('Gráfica de la señal Escalón Unitarío u(t)')
>> xlabel('Variable independiente t')
>> ylabel('u(t)')

Esta función Escalón Unitario sirve para eliminar el tiempo negativo de cualquier otra función matemática y
convertirla en una señal física, donde solamente existen tiempos positivos, incluido el cero.

8.1.3 DEFINICIÓN 2

Se define la Transformada Inversa de Laplace como:2


  j
f (t )  L1 FII ( s ) 
1
 FII ( s )e st ds
2j   j
  j
f (t )  L1 F ( s) 
1
 FII ( s)e st ds
2j   j

EJEMPLO 1: Hallar F(s) para f(t) = e-tu(t), donde u(t) es la función Paso o Escalón Unitario.

SOLUCIÓN ANALÍTICA:

Como la función exponencial está multiplicada por la función escalón unitario, entonces sólo a partir del 0 hacia
adelante, como se muestra en la siguiente gráfica:

2
La unidad imaginaria se puede representar con “i” o con “j”.
3
Luis Cabezas Tito

Usando la Transformada de Laplace Unilateral (de 0 a ∞) o la Bilateral (de -∞ a +∞), se tiene:


+∞

𝐿[𝑓(𝑡)] = 𝐹(𝑠) = ∫ 𝑓(𝑡)𝑒 −𝑠𝑡 𝑑𝑡


−∞

+∞ +∞
1
𝐹(𝑠) ∫ 𝑒 −𝛼𝑡 𝜇(𝑡)𝑒 −𝑠𝑡𝑑𝑡 = ∫ 𝑒 −(𝑠+𝛼)𝑡 𝑑𝑡 =
𝑠+𝛼
−∞ 0

SOLUCIÓN NUMÉRICA:

Resolviendo mediante MATLAB:

>> syms a t; % Se reemplazó ‘alfa’ por ‘a’


>> f=exp(-a*t);
>> F=laplace(f) %Función Laplace de MATLAB

F=
1/(s + a)

>> pretty(F)

1
------
s+a

ANÁLISIS DE LA ESTABILIDAD DE UN SISTEMA:

La transformada de Laplace sirve para analizar la estabilidad de un sistema modelado matemáticamente por la señal
F(s). Si F(s) es igual a un polinomio factorizado:

(𝑠 − 𝑐1)(𝑠 − 𝑐2) … (𝑠 − 𝑐𝑚 )
𝐹(𝑠) =
(𝑠 − 𝑝1 )(𝑠 − 𝑝2) … (𝑠 − 𝑝𝑛 )

A las raíces del numerador ‘c i’ se las denomina “ceros” representados por un pequeño círculo ‘o’ de la función F(s);
mientras que a las raíces del denominador se las llama “polos” y se representan con una ‘x’, y son precisamente
estos polos los que interesan para realizar un análisis de estabilidad.
4
Ecuaciones Diferenciales con MATLAB

1
Del ejemplo 1 se tiene que 𝐹(𝑠) = . Dependiendo del valor de ‘a’, se tendrá un sistema estable o inestable.
𝑠+𝑎

La variable de Laplace ‘s’ es una variable compleja que se descompone en: s = α ± iω, donde α representa la
Atenuación (Neper/s) y ω la frecuencia o velocidad angular (radianes/s). Con estas variables se tiene el plano
complejo s:

Semiplano izquierdo Semiplano derecho

De acuerdo a la ubicación de los polos en el plano ‘s’, se tienen tres casos’:

 Si los polos caen en cualquier parte del semiplano izquierdo, se dice que el sistema físico representado por su
función F(s) es “ESTABLE”.
 Si caen en el semiplano derecho, entonces el sistema se torna “INESTABLE”.
 Si se encuentran sobre el eje imaginario iω, se tendrá una oscilación pura y el sistema será “ARMÓNICO”.

Para el ejemplo en cuestión:

a. Si α > 0, por ejemplo, α = 2, entonces: s + α = 0 o s = -α o dando un valor numérico: s = -2. Es un polo que cae
en el semiplano izquierdo del plano s, haciendo que el sistema sea estable. Gráficamente se tiene:

x
-2
α

b. Si α < 0, por ejemplo, α = -2, entonces: s - α = 0 o s = α o dando un valor numérico: s = 2. Es un polo que cae
en el semiplano izquierdo del plano s, haciendo que el sistema sea inestable. Gráficamente se tiene:

x
2
α
5
Luis Cabezas Tito

c. Si el denominador es de la forma s 2 + α, entonces se tendrán polos imaginarios conjugados en s = ±i y el


sistema será armónico u oscilatorio. Graficando se tiene:

x 1

α
x -1

MATLAB también dispone de un comando propio para encontrar y graficar los polos y ceros de una función F(s),
como se ve en el siguiente ejemplo.

La función pzmap realiza la representación gráfica de la situación en el plano complejo de los polos (cruces) y los
ceros (círculos) del sistema. Por ejemplo, el siguiente código MATLAB grafica los polos y ceros:

>> sis=tf([1 8.5],[1 10 61])

sis =
s + 8.5
---------------------
s^2 + 10 s + 61

>> pzmap(sis)

6
Ecuaciones Diferenciales con MATLAB

PRÁCTICA 1: hallar la Transformada de Laplace, de manera analítica y numérica, de la función impulso unitario o
Delta de Dirac: f(t) = (t).

Solución: F(s) = 1.

8.2 PROPIEDADES DE LA TRANSFORMADA DE LAPLACE

Todas las propiedades se demuestran usando la definición de la transformada de Laplace.

8.2.1 LINEALIDAD

Si f1(t) === F1(s) y f2(t) === F2(s), entonces

L[K1f1(t) + K2f2(t)] = K1L[f1(t)] + K2L[f1(t)] = K1F1(s) + K2F2(s)

8.2.2 TRASLACIÓN EN t

f(t) === F(s), entonces L[f(t – to)] = e-stoF(s)

8.2.3 DERIVADA

f(t) === F(s), entonces L[f’(t)] = sF(s) – f(0)

8.2.4 ESCALAMIENTO EN t

f(t) === F(s), entonces L[f(at)] = (1/a)F(s/a)

8.2.5 INTEGRAL
t  F ( s)
f(t) === F(s), entonces L   f  d  
0  s

8.2.6 DERIVADA N-ÉSIMA

f(t) === F(s), entonces

L[fn(t)] = snF(s) – sn-1f(0-) – sn-2f’(0-) - ... – f n-1(0 -)

8.2.7 CONVOLUCIÓN

f(t) === F(s y g(t) === G(s), entonces


f (t ) * g (t )   f  g (t   )d


L f (t ) * g (t )  F ( s)G ( s)

8.2.8 DIVERSAS PROPIEDADES

f(t) === F(s), entonces L[t(f(t))] = -F’(s)

En general: L[tnf(t)] = (-1)nFn(s), n = 1, 2, 3,...

7
Luis Cabezas Tito


 f (t ) 
L    F ( s)ds
 t  s

8.2.9 TRANSFORMADA DE UNA FUNCIÓN PERIÓDICA DE PERIODO T


 1 
fT(t) ===F(s), entonces L f T (t )  F ( s) Ts 
1 e 
8.3 TRANSFORMADA INVERSA DE LAPLACE L-1

Existen varios métodos para determinar la Transformada Inversa de Laplace; entre los que se encuentran el
desarrollo o expansión en fracciones parciales, el método de la Convolución y el de la propiedad de desplazamiento
en s. El primero se estudiará en el presente capítulo por ser el más utilizado.

8.3.1 MÉTODO DE EXPANSIÓN EN FRACCIONES PARCIALES

Sea F(s) = N(s)/D(s), donde N(s) es un polinomio del numerador de grado m y D(s) es otro polinomio del
denominador de grado n, entonces F(s) se expande en fracciones parciales por los métodos tradicionales;
posteriormente, a cada término se lo saca la transformada inversa de Laplace.

EJEMPLO 3: Hallar f(t) de manera analítica y numérica de la función:


5s  3
F ( s) 
( s  2) 2 ( s  3) s

SOLUCIÓN ANALÍTICA:

Realizando la expansión en fracciones parciales:

5s + 3 A B C D
F(s) = = + + +
(s + 2)2(s + 3)s s s + 3 (s + 2)2 s + 2

Resolviendo para A, B, C y D:

3 1
A|s=0 = =
22 ∗ 3 4
5 ∗ (−3) + 3
B|s=−3 = =4
(−3 + 2)2 ∗ (−3)

5 ∗ (−2) + 3 7
C|s=−2 = =
(−2 + 3) ∗ (−2) 2

d 5s + 3 17
D|s=0 = [ ]=−
ds s(s + 3) 4

Reemplazando en F(s) expandida:

1 1 1 7 1 17 1
F(s) = ∗ +4∗ + ∗ − ∗
4 s s + 3 2 (s + 2)2 4 s+2

Sacando la Antitransformada de Laplace o Transformada Inversa, además de causalizar dicha función, se tiene:

8
Ecuaciones Diferenciales con MATLAB

1 17 7
f(t) = [ − e−2t + te−2t + 4e−3t ] μ(t)
4 4 2

Con MATLAB también se puede hallar directamente la expansión en fracciones parciales como se ve a continuación.

La función F(s) se lo expresa, primeramente, como una división de dos polinomios:

5𝑠 + 3
𝐹(𝑠) =
𝑠 4 + 7𝑠 3 + 16𝑠 2 + 12𝑠 + 0

>> num=[5 3]; %Coeficientes del numerador


>> den=[1 7 16 12 0]; %Coeficientes del denominador
>> [r,p]=residue(num,den)

r=
4.0000
-4.2500
3.5000
0.2500

p=
-3.0000
-2.0000
-2.0000
0

‘r’ representa a los coeficientes de la expansión y p son los polos o raíces del denominador.

SOLUCIÓN NUMÉRICA:

MATLAB también dispone de un comando propio para hallar la Transformada Inversa de Laplace “ilaplace”.

>> syms s;
>> F=(5*s+3)/[s*(s+3)*(s+2)^2]

F=
(5*s + 3)/(s*(s + 2)^2*(s + 3))

>> pretty(F)

5s+3
---------------------
2
s (s + 2) (s + 3)

>> f=ilaplace(F)

f=
4*exp(-3*t) - (17*exp(-2*t))/4 + (7*t*exp(-2*t))/2 + 1/4

>> pretty(f)

17 exp(-2 t) 7 t exp(-2 t)
4 exp(-3 t) - --------------- + --------------- + 1/4
4 2
9
Luis Cabezas Tito

8.3.2 TABLA DE LAS TRANSFORMADA DE LAPLACE DE LAS FUNCIONES MÁS IMPORTANTES

f(t) F(s)
1
e-tu(t)
s 
1
u(t)
s
(t) 1
1
tu(t)
s2
s
cos(wt)u(t)
s  w2
2

w
sen(wt)u(t)
s  w2
2

PRÁCTICA 2: demuestre analítica y numéricamente las Transformadas de Laplace de la tabla anterior.

8.4 APLICACIÓN DE LA TRANSFORMADA DE LAPLACE A LAS ECUACIONES DIFERENCIALES LINEALES


DE COEFICIENTES CONSTANTES

Sea la ecuación diferencial:


0
y n (t )  a
k  n 1
k y k (t )  x(t ); a k  R
0

a
k n
k y k (t )  x(t )

Entonces, sacando la transformada de Laplace, se tiene:

0 
L  a k y k (t )  Lx(t )
 k n 

 a L y 
0

k
k
(t )  Lx(t )  Lx(t )
k n

Lo cual es igual a:

 
0
X ( s)   a k s k 1 y (0  )  s k  2 y ' (0  )  ...  y k 1 (0  )
Y (s)  k n
0

a s
k n
k
k

Para una ecuación homogénea, se tiene:

10
Ecuaciones Diferenciales con MATLAB

 a s 
0
k 1
k y (0  )  s k  2 y ' (0  )  ...  y k 1 (0  )
N (s)
Y (s)  k n
0

a s k D( s )
k
k n
Desarrollando en fracciones parciales se puede determinar y(t) aplicando la transformada inversa de Laplace.

EJEMPLO 4: resolver, analítica y numéricamente, la ecuación y’’ + 6y’ + 5y = e -t, con las condiciones iniciales:
y(0) = 1 y y’(0) = 2.

SOLUCIÓN ANALÍTICA:

Sacando la Transformada de Laplace a toda la ecuación diferencial y aplicando las propiedades 8.2.1, 8.2.3 y 8.2.6:

𝐿[𝑦"] + 6𝐿[𝑦′] + 5𝐿[𝑦] = 𝐿[𝑒 −𝑡 ]

1
𝑠 2𝑌(𝑠) − 𝑠𝑦(0) − 𝑦 ′ (0) + 6[𝑠𝑌(𝑠) − 𝑦(0)] + 5𝑌(𝑠) =
𝑠+1

Reemplazando valores iniciales, simplificando y despejando Y(s), se tiene:

𝑠 2 + 9𝑠 + 9
𝑌(𝑠) =
(𝑠 + 5)(𝑠 + 1)2

Expandiendo en Fracciones Parciales se llega a:

27 1 1 1 11 1
𝑌(𝑠) = + 2 −
16 𝑠 + 1 4 (𝑠 + 1) 16 𝑠 + 5

Sacando la Transformada Inversa de Laplace se obtiene, finalmente, la solución y(t), igual a:

 27 1 11 
y(t )   e t  te t  e 5t u (t )
 16 4 16 
SOLUCIÓN NUMÉRICA:

Ejecutar el siguiente código (lo que está antecedido por >>):

>> syms s t lapy y


>> diffeq='diff(y(t),t$2)+6*diff(y(t),t)+5*y(t)-exp(-t)'

diffeq =
diff(y(t),t$2)+6*diff(y(t),t)+5*y(t)-exp(-t)

>> a=laplace(diffeq,t,s)

a=
s^2*laplace(y(t), t, s) - D(y)(0) - 1/(s + 1) - s*y(0) - 6*y(0) + 6*s*laplace(y(t), t, s) + 5*laplace(y(t), t, s)

>> a=subs(a,'laplace(y(t),t,s)',lapy)

a=
5*lapy - 6*y(0) - D(y)(0) - 1/(s + 1) + 6*lapy*s - s*y(0) + lapy*s^2

11
Luis Cabezas Tito

>> lapy=solve(a,lapy)

lapy =
(6*y(0) + D(y)(0) + 1/(s + 1) + s*y(0))/(s^2 + 6*s + 5)

>> y=ilaplace(lapy,s,t)

y=
(t*exp(-t))/4 + exp(-t)*((5*y(0))/4 + D(y)(0)/4 - 1/16) - exp(-5*t)*(y(0)/4 + D(y)(0)/4 - 1/16)

>> sol=subs(y,'y(0)',1);
>> sol=subs(sol,'D(y)(0)',2)

sol =
(27*exp(-t))/16 - (11*exp(-5*t))/16 + (t*exp(-t))/4

>> pretty(sol)

27 exp(-t) 11 exp(-5 t) t exp(-t)


------------- - ---------------- + ----------
16 16 4

También es posible hallar la solución y(t) conociendo previamente Y(s), mediante el siguiente código:

>> syms s
>> Y=(s^2+9*s+9)/[(s+5)*(s+1)^2]

Y=
(s^2 + 9*s + 9)/((s + 1)^2*(s + 5))

>> y=ilaplace(Y)

y=
(27*exp(-t))/16 - (11*exp(-5*t))/16 + (t*exp(-t))/4

>> pretty(y)
27 exp(-t) 11 exp(-5 t) t exp(-t)
-------------- - -------------- + -----------
16 16 4

MAS EJEMPLOS DE LA TRANFORMADA DE LAPLACE CON MATLAB

EJEMPLO 5:

Escribir en el workspace de MATLAB:

>> syms s
>> f='exp(-a*t)*sin(b*t)'

f=
exp(-a*t)*sin(b*t)

>> F=laplace(f,s)

12
Ecuaciones Diferenciales con MATLAB

F=
b/((a + s)^2 + b^2)

>> pretty(F)

b
----------------
2 2
(a + s) + b

EJEMPLO 6: resolver la ecuación diferencial

x’(t) + 3x(t) = 0; x(0) = 1:

Escribir el siguiente código:

>>syms t s lapx
>>diffeqn='diff(x(t),t)+3*x(t)'; % Se introduce la ED
>>a=laplace(diffeqn,t,s); % Se transforma la ED
>>a=subs(a,'laplace(x(t),t,s)',lapx); % Cambio por comodidad
>>%En la expresion transformada se sustituye laplace(x(t),t,s) >>%por lapx
>>lapx=solve(a,lapx); % En a=0 se despeja lapx
>>x=ilaplace(lapx,s,t); %Se calcula x mediante la transformada >>%inversa
>>sol=subs(x,'x(0)',1)

EJEMPLO 7: resolver la ecuación diferencial

x”(t) + 3x’(t) + 2x(t)= sen(t)


x(0) = x’(0) = 0

Escribir el siguiente código:

>> syms s t lapx x


>> diffeq='diff(x(t),t$2)+3*diff(x(t),t)+2*x(t)-sin(t)';
>> a=laplace(diffeq,t,s);
>> a=subs(a,'laplace(x(t),t,s)',lapx);
>> lapx=solve(a,lapx);
>> x=ilaplace(lapx,s,t);
>> sol=subs(x,'x(0)',0);
>> sol=subs(sol,'D(x)(0)',0)

sol =
exp(-t)/2 - exp(-2*t)/5 - (3*cos(t))/10 + sin(t)/10

NOTA: si quiere ver paso a paso como resuelve MATLAB la ecuación diferencial, elimine de cada línea de comando
el punto y coma (;).

PRÁCTICA 2: resolver las siguientes ecuaciones diferenciales empleando la Transformada de Laplace de manera
analítica y numérica.

a. y’ + 2y = 0; y(0-) = 1.
b. y’ + 2y = 0; y(1) = 1.
c. y’’ + y’ + y = 0, y(0-) = 4, y’(0-) = -3.
d. y’’ + 2y’ + 5y = 3e-2t; y(0-) = 1, y’(0-) = 1.
13
Luis Cabezas Tito

e. y’’’ – y = 5, y(0-) = 0, y’(0-) = 0, y’’(0-) = 0.


f. y’’ + y = 0, y() = 0, y’() = -1.
g. y’ – 5y = 0, y() = 0.

PRÁCTICA 3: resolver la ecuación diferencial:

y’’ – 3y’ + 2y = e-t

con la condición: y(1) = y’(1) = 0

Solución: y(t) = [-(1/3)e t-2 + (1/3)e2t-3 + (1/6)e-t]u(t)

8.5 RESOLUCIÓN DE SISTEMAS DE ECUACIONES DIFERENCIALES LINEALES DE COEFICIENTES


CONSTANTES USANDO LA TRANSFORMADA DE LAPLACE

Sea el sistema:

X1 = X1(t)
X2 = X2(t)

Primero, se aplica la Transformada de Laplace a las Ecuaciones Diferenciales que conforman el Sistema. Se obtiene
un Sistema de Ecuaciones Algebraicas. Mediante el Método de Cramer o cualquier otro se determinan X 1(s) y X2(s).
Posteriormente, se sacan las Transformadas Inversas de Laplace para encontrar, finalmente, x1 (t) y x2(t).

EJEMPLO 8: Resolver el sistema de ecuaciones diferenciales:

x’ = -x + y
y’ = -y + x
x(0) = 1, y(0) = -2

SOLUCIÓN NUMÉRICA:

Escribir el siguiente código MATLAB:

>> syms s t lapx lapy


>> % Se introducen las dos ED.
>> diffeq1='diff(x(t),t)+x(t)+y(t)';
>> diffeq2='diff(y(t),t)+y(t)-x(t)';
>> %A continuacion se transforman las dos ED.
>> a=laplace(diffeq1,t,s)

a=
s*laplace(x(t), t, s) - x(0) + laplace(x(t), t, s) + laplace(y(t), t, s)

>> b=laplace(diffeq2,t,s)

b=
s*laplace(y(t), t, s) - y(0) - laplace(x(t), t, s) + laplace(y(t), t, s)

>> a=subs(a,'laplace(x(t),t,s)',lapx);
>> a=subs(a,'laplace(y(t),t,s)',lapy)

a=
lapx + lapy - x(0) + lapx*s

14
Ecuaciones Diferenciales con MATLAB

>> b=subs(b,'laplace(x(t),t,s)',lapx);
>> b=subs(b,'laplace(y(t),t,s)',lapy)

b=
lapy - lapx - y(0) + lapy*s

>> % En las expresiones a=0 y b=0 se despejan


>> % las transformadas de x e y: lapx, lapy
>> [lapx,lapy]=solve(a,b,lapx,lapy)

lapx =
(x(0) - y(0) + s*x(0))/(s^2 + 2*s + 2)

lapy =
(x(0) + y(0) + s*y(0))/(s^2 + 2*s + 2)

>> % Se obtienen x e y mediante la transformada inversa


>> x=ilaplace(lapx,s,t)

x=
exp(-t)*x(0)*(cos(t) + sin(t)*((x(0) - y(0))/x(0) - 1))

>> y=ilaplace(lapy,s,t)

y=
exp(-t)*y(0)*(cos(t) + sin(t)*((x(0) + y(0))/y(0) - 1))

>> % En las expresiones de x e y se sustituyen las condiciones >> %iniciales


>> x=subs(x,'x(0)',1);
>> x=subs(x,'y(0)',-2)

x=
exp(-t)*(cos(t) + 2*sin(t))

>> y=subs(y,'x(0)',1);
>> y=subs(y,'y(0)',-2)

y=
-2*exp(-t)*(cos(t) - sin(t)/2)

EJEMPLO 9: Resolver el sistema de ecuaciones diferenciales:

x’(t) + y(t) = t x(0) = 1


y’(t) + 4x(t) = 0 y(0) = -1

SOLUCIÓN ANALITICA:

x(t) = [-1/4 + (7/8)e2t + (3/8)e-2t]u(t)


y(t) = [t – (7/4)e2t + (3/4)e-2t]u(t)

SOLUCIÓN NUMÉRICA:

Escribir el siguiente código en un archivo Script:

clc
15
Luis Cabezas Tito

syms s t lapx lapy


% Se introducen las dos ED.
diffeq1='diff(x(t),t)+y(t)-t';
diffeq2='diff(y(t),t)+4*x(t)';
%A continuacion se transforman las dos ED.
a=laplace(diffeq1,t,s);
b=laplace(diffeq2,t,s);
a=subs(a,'laplace(x(t),t,s)',lapx);
a=subs(a,'laplace(y(t),t,s)',lapy);
b=subs(b,'laplace(x(t),t,s)',lapx);
b=subs(b,'laplace(y(t),t,s)',lapy);
% En las expresiones a=0 y b=0 se despejan
% las transformadas de x e y: lapx, lapy
[lapx,lapy]=solve(a,b,lapx,lapy);
% Se obtienen x e y mediante la transformada inversa
x=ilaplace(lapx,s,t);
y=ilaplace(lapy,s,t);
% En las expresiones de x e y se sustituyen las condiciones >> %iniciales
x=subs(x,'x(0)',1);
x=subs(x,'y(0)',-1)
y=subs(y,'x(0)',1);
y=subs(y,'y(0)',-1)

Solución:

x=
(3*exp(-2*t))/8 + (7*exp(2*t))/8 - 1/4

y=
t + (3*exp(-2*t))/4 - (7*exp(2*t))/4

8.6 TEOREMA DEL VALOR INICIAL

Si f(t) y df(t) son transformables, entonces el Teorema del Valor Inicial señala que:

f (0  )  LimsF ( s)
s 
8.7 TEOREMA DEL VALOR FINAL

Si f(t) y df(t) son transformables, si existe el límite de f(t) cuando t tiende a infinito, además, si sF(s) es analítica en
la mitad derecha del plano s, incluyendo el eje jw, excepto un polo simple en el origen, entonces:

f ()  Lim f (t )  LimsF (s)


t  s 0
8.8 TEOREMA DE COMPARACIÓN

Sean dos ecuaciones:

y’’ + a1(x)y = 0 (1)


z’’ + a2(x)z = 0 (2)

Si a2(x)  a1(x) en el intervalo [a,b], entonces entre cada cero de cualquier solución y(x) de la ecuación (1) se
encuentra por lo menos un cero de cada solución z(x) de la ecuación (2).

16
Ecuaciones Diferenciales con MATLAB

Este teorema se emplea generalmente tomando en calidad de una de las ecuaciones (1) o (2) una ecuación con
coeficientes constantes.

Por ejemplo, para la ecuación de Bessel: x2 y’’ + xy’ + (x2 -  2)y = 0; x > 0

Si y = x-1/2z, se obtiene la ecuación para z, de la forma:

 2  1 
z ' '1  4 z  0
 x 2 
 
 2  1 
Cuando x  , la expresión 1  4  tiende a “1”. Por eso, siendo el valor de x suficientemente grande, la
 x 2 
 
distancia entre los ceros sucesivos de las soluciones de la ecuación de Bessel es tan próxima a .

PRÁCTICA 4: Demostrar los teoremas de los incisos 8.6, 8.7 y 8.8.

PRÁCTICA 5: demostrar que si x  , los ceros sucesivos de cada solución de la ecuación de Airy: y’’ + xy = 0; x
> 0, se aproximan indefinidamente.

8.9 PROBLEMAS DE CONTORNO

A igual que el problema del valor inicial o de Cauchy, a menudo se resuelven problemas de contorno o frontera para
las ecuaciones diferenciales. En tales problemas, el valor de la función buscada se prefija en ambos extremos del
segmento en el que se pide determinar la solución. En este caso, la solución no siempre existe y, si existe, no será
obligatoriamente la única.

EJEMPLO 10: hallar las soluciones de la ecuación y’’ + y = 0, que satisfaga las condiciones de frontera y(0) = 0,
y(x1 ) = y1, 0  x  x1.
y1
SOLUCIÓN: y ( x)  Sen( x); x1  n
Sen( x1 )
EJEMPLO 11: y’’ + y = 0; 0 < x  l; : parámetro numérico, y(0) = 0; y(l) = 0.

SOLUCIÓN: Los valores de  para los cuales el problema tiene soluciones no triviales reciben el nombre de
autovalores.

Examinemos por separado tres casos en que  < 0,  = 0,  > 0.


a. Para  < 0, entonces y( x)  C1e   x  C2 e   x . Evaluando en las condiciones de frontera se obtiene una
solución trivial, ya que C1 = C2 = 0. Por tanto, no son valores propios.
b. Para  = 0, entonces y(x) = C1 x + C2, aplicando las condiciones de frontera se tiene que C 1 = C2 = 0.
Entonces y = 0, es decir,  = 0 no es un valor propio.
c. Para  > 0 se tiene:    
y( x)  C1Cos  x  C2 Sen  x Reemplazando las condiciones de frontera se
tiene que:
C11  C 2 0  0
   
C1Cos  l  C 2 Sen  l  0

Para que el sistema tenga soluciones no triviales es necesario y suficiente que se cumpla lo siguiente:

17
Luis Cabezas Tito

 1 0 
   
Cos  l
 Sen  l 
0

Sen   l   0
 l  k ; k  Z

 k 
2

Entonces, las soluciones no triviales del problema son posibles sólo para los valores:  k   
 l 
 k  
Por tanto: y k ( x)  Sen   x
 l  
PRÁCTICA 6: ¿Cuáles de los siguientes problemas de contorno son resolubles?

a. y’’ – y = 0; y(0) = 0; y(2) = 1


b. y’’ + y = 0; y(0) = 0, y(2) = 1
c. y’’ + y = 0, y(0) = 0; y() = 0.

8.10 LA FUNCIÓN GAMMA ()

La función gamma se define por:



n    u n1e u du; n  0
0

La gráfica en 2D de esta función es la siguiente:

Mientras que en 3D se tiene la gráfica:

18
Ecuaciones Diferenciales con MATLAB

Una ilustración presentada en el sitio de Wolfram, es el ploteo de la parte real e imaginaria en el plano complejo de
la función (z).

Esta función Gamma tiene las siguientes propiedades:

1. (n + 1) = n(n).
2. (n + 1) = n!
3. (n) = (n + 1)/n; n < 0
4. (1/2) = ()1/2
5. (p)(1 - p) = /Sen(p); 0 < p < 1
6. (n + 1) = (2n)1/2n ne -n; n grande

Se considera que la función Gamma es una generalización del concepto de Factorial, aplicándose sobre números
positivos, no enteros.

EJEMPLO 12: hallar los valores finales de (4) y (7/2).

19
Luis Cabezas Tito

SOLUCIÓN:

Para (4) se usa la propiedad 2: (n + 1) = n!

(4) = (3 +1) = 3! = 6

Para (7/2) se usan las propiedades 1: (n + 1) = n(n) y 4: (1/2) = ()1/2

(7/2) = (5/2+1) = (5/2)(5/2) = (5/2)(3/2+1) = (5/2*3/2)(3/2)

= (15/4)(1/2+1) = (15/4*1/2)(1/2) = (15/8)()1/2

Usando la función Gamma se calculan las Transformadas de Laplace; mediante tablas o calculadoras se obtienen
los valores de Gamma, para n no entero.

EJEMPLO 13: Hallar las transformadas de Laplace de:

f (t )  t 5
.
f (t )  5 t 3

SOLUCIÓN:
(n  1)
Si L(t n )  entonces
s n1

7
 
  5
L t    7  
2 15 1 3.32
2
 7  7
  8
s2 s2 s2

(n  1) 8 / 5
Si L(t n )  n 1
 
entonces L t
3/ 5 0.8935
 8 / 5  8 / 5
s s s

El valor de Γ(8/5) se obtiene de la tabla 1b.

8.11 LA FUNCIÓN GAMMA ((n)) CON MATLAB

MATLAB posee el comando “gamma” que permite simular a la función (n).

EJEMPLO 14: calcular (1/2) y (17/3) por las diferentes vías que se sugieren a continuación.

SOLUCIÓN:

>> gamma(1/2)

ans =
1.7725

20
Ecuaciones Diferenciales con MATLAB

>> 'gamma(1/2)'

ans =
gamma(1/2)

>> int('t^(1/2-1)*exp(-t)',0,inf)

ans =
pi^(1/2)

8.12 TRANSFORMADA DE LAPLACE DE LA FUNCIÓN ESCALÓN UNITARIO O FUNCIÓN DE HEAVISIDE

La Transformada de Laplace de la función u(t) (8.1.2) se puede calcular con MATLAB de la siguiente forma:

>> syms t s

>> u='heaviside(t)'

u=
heaviside(t)

>> laplace(u,t,s)

ans =
1/s

Cuando existe un desplazamiento en el tiempo, se tiene la función u(t -1), cuya Transformada de Laplace es:

>> syms t s

>> u='heaviside(t-1)'

u=
heaviside(t-1)

>> laplace(u,t,s)

ans =
exp(-s)/s

8.13 TRANSFORMADA DE LAPLACE DE LA FUNCIÓN IMPULSO UNITARIO O DELTA DE DIRAC

La Transformada de Laplace de la función Impulso Unitario (t) (8.1.2) se calcula con MATLAB como sigue:

>> syms t s

>> d='dirac(t)'

d=
dirac(t)
21
Luis Cabezas Tito

>> laplace(d,t,s)

ans =
1

Cuando existe un corrimiento en el tiempo, como ser δ(t - 2), entonces de calcula con los siguientes comandos de
MATLAB:

>> syms t s

>> d='dirac(t-2)'

d=
dirac(t-2)

>> laplace(d,t,s)

ans =
exp(-2*s)

8.14 LA FUNCIÓN DE TRANSFERENCIA H(s)

Sea el sistema físico:

x(t) h(t) y(t)


X(s) H(s) Y(s)

Donde:

x(t): Entrada o excitación al sistema


X(s): Transformada de Laplace de la Entrada
y(t): Salida o respuesta del sistema
Y(s): Transformada de Laplace de la Salida
h(t): Respuesta al Impulso Unitario
H(s): Función de Transferencia del sistema o Transformada de Laplace de h(t)

La función de transferencia H(s) de un sistema lineal se define como la razón entre la transformada de Laplace de
la salida Y(s) y la transformada de Laplace de la entrada X(s), asumiendo que las condiciones iniciales son nulas.
Matemáticamente se expresa como:

𝑌(𝑠) 𝑆𝑎𝑙𝑖𝑑𝑎
𝐻(𝑠) = =
𝑋(𝑠) 𝐸𝑛𝑡𝑟𝑎𝑑𝑎

Supóngase que el sistema está gobernado por la EDL de coeficientes constantes siguiente:

𝑎𝑦"(𝑡) + 𝑏𝑦′(𝑡) + 𝑐𝑦(𝑡) = 𝑥(𝑡); 𝑦(0) = 𝑦′(0) = 0

Al aplicar la transformada de Laplace en ambos miembros de la ecuación, y reflejar las condiciones iniciales, se
obtiene:

(𝑎𝑠 2 + 𝑏𝑠 + 𝑐)𝑌(𝑠) = 𝑋(𝑠)

22
Ecuaciones Diferenciales con MATLAB

Hallando la relación Y(s)/X(s):

𝑌(𝑠) 1
𝐻(𝑠) = = 2
𝑋(𝑠) 𝑎𝑠 + 𝑏𝑠 + 𝑐

Que es la función de transferencia buscada; de la misma, se puede despejar Y(s), quedando de la forma:

𝑌(𝑠) = 𝐻(𝑠)𝑋(𝑠)

Aplicando la transformada inversa:

𝐿−1[𝑌(𝑠)] = 𝐿−1[𝑌(𝑠)𝑋(𝑠)] → 𝑦(𝑡) = ℎ(𝑡) ∗ 𝑥(𝑡)

El operador * se denomina “CONVOLUCIÓN” (no confundir con el producto aritmético).

EJEMPLO 15: calcular y(t) (resolver la ED), mediante la Convolución del sistema siguiente:

𝑦"(𝑡) + 2𝑦′(𝑡) + 5𝑦(𝑡) = 𝑒 −3𝑡 ; 𝑦(0) = 𝑦′(0) = 0

SOLUCIÓN:

Encontrando H(s), se tiene:

𝑌(𝑠) 1
𝐻(𝑠) = = 2
𝑋(𝑠) 𝑠 + 2𝑠 + 5

Introducir el siguiente código de MATLAB (que comienza con >>):

>> syms s t u
>> H='1/(s^2+2*s)+5'

H=
1/(s^2+2*s)+5

>> x='exp(-3*t)'

x=
exp(-3*t)

>> h=ilaplace(H,s,t)

h=
5*dirac(t) - exp(-2*t)/2 + 1/2

>> f=subs(h,t,t-u)

f=
5*dirac(t - u) - exp(2*u - 2*t)/2 + ½

>> x=subs(x,t,u)

x=
exp(-3*u)

23
Luis Cabezas Tito

>> P=f*x

P=
exp(-3*u)*(5*dirac(t - u) - exp(2*u - 2*t)/2 + 1/2)

>> y=int(P,u,0,t)

y=
(17*exp(-3*t))/6 - exp(-2*t)/2 - 5*heaviside(-t)*exp(-3*t) + 1/6

>> pretty(y)

17 exp(-3 t) exp(-2 t)
---------------- - ------------ - 5 heaviside(-t) exp(-3 t) + 1/6
6 2

8.15 RESOLUCIÓN DE ECUACIONES DIFERENCIALES MEDIANTE SIMULINK DE MATLAB

La teoría de control pretende resolver la regulación de sistemas reales, para ello es fundamental plantear modelos
y diseñar controladores. Dichos modelos y controladores en todos los campos de la ingeniería deben ser validados
para comprobar su comportamiento antes de plantear una implementación real.

Esta validación se realiza mediante simulaciones para diferentes condiciones, es por ello necesario tener claro que
significa simular en este campo. Simular sistemas es resolver las ecuaciones que modelan sistemas y controladores
durante un periodo de tiempo y para unas condiciones determinadas.

Utilizar una buena herramienta de simulación es importante para obtener resultados de forma fácil y rápida. En este
capítulo se presenta el software Simulink que es una herramienta que se utiliza por un gran número de profesionales
y estudiantes universitarios para realizar tareas de simulación de modelos y controladores avanzados.

El programa Simulink presenta ventajas frente a otros programas m atemáticos que podrían ser también utilizados
para resolver las ecuaciones diferenciales de los sistemas, tales como un entorno interactivo y un conjunto de
librerías con bloques personalizables que permiten simular, implementar y probar una serie de sistemas variables
con el tiempo. Además Simulink está integrado en MATLAB y por ello es posible tener acceso a una amplia gama
de herramientas que permiten desarrollar algoritmos, analizar y visualizar simulaciones.

Ingrese a Simulink, escribiendo lo siguiente en el workspace de MATLAB:

>> simulink

Se abre la siguiente ventana:

24
Ecuaciones Diferenciales con MATLAB

Para acceder a crear un nuevo modelo se presiona en File > New > Model. Se abre la siguiente ventana de trabajo:

EJEMPLO 15: visualizar la función sen(t) en un osciloscopio de Simulink.

SOLUCIÓN:

En la Enter search term se puede buscar el nombre de los bloques si no se conocen sus ubicaciones.

25
Luis Cabezas Tito

Busque los siguientes bloques:

 Sine Wave
 Scope

Arrástrelos con el botón izquierdo del mouse sobre el área de trabajo y conéctelos. El modelo final debe quedar así:

Haga doble clic en Sine Wave y cambie en Amplitude a 2.

Presione OK.

Guarde el modelo mediante el menú File > Save As…

Inicie la simulación presionando el botón Start simulation:

Haga doble clic con el botón izquierdo del mouse en Scope. Se abrirá la siguiente ventana:

26
Ecuaciones Diferenciales con MATLAB

EJEMPLO 16: resuelva la ecuación diferencial siguiente mediante Simulink:

𝑑2 𝑦(𝑡)
+ 𝑦(𝑡) = 𝑥(𝑡); 𝑦(0) = 𝑦 ′ (0) = 0
𝑑𝑡 2

SOLUCIÓN:

Esta ED se puede escribir de la forma:

𝑑2𝑦(𝑡)
= 𝑥(𝑡) − 𝑦(𝑡) → 𝑦(𝑡) = ∫ ∫(𝑥(𝑡) − 𝑦(𝑡))𝑑𝑡. 𝑑𝑡
𝑑𝑡 2

Cree el siguiente modelo en Simulink buscando los bloques por sus respectivos nombres:

Haciendo doble clic en From Workspace, escriba en Data: [t x].

Haciendo doble clic en Sum, cambie en List of signs: |+-

27
Luis Cabezas Tito

Los vecotres ‘t’ y ‘x’ que se utilizan como entrada al sistema deben ser creador de la siguiente manera en el
workspace de MATLAB:

>> t=0:0.001:0.999;
>> t=t';
>> x=exp(-t);

Escoja del menú Simulation la opción Configuration Parameters. Haga los siguientes cambios según se aprecia en
la gráfica que sigue:

Las condiciones iniciales de los integradores deben permanecer en 0.

En el bloque From Workspace debe escribir en Sample Time 0.001.

Ahora puede iniciar la simulación. En los osciloscopios verá lo siguiente, presionando en cada ventana del
osciloscopio el botón Autoscale:

Entrada Salida

28
Ecuaciones Diferenciales con MATLAB

EJEMPLO 17: determine la Respuesta Impulsiva del siguiente sistema (ED Homogénea). Escriba la ecuación
diferencial que representa el modelo.

SOLUCIÓN:

Cree el modelo siguiente bajo la guía del ejemplo 16:

Escriba en el workspace el código:

>> t=0:0.001:0.999;
>> t=t';
>> x=zeros(size(t)); %ED Homogénea

Cambie en la condición inicial del integrator a 3 (y(0) = 3). Configure los parámetros del From Workspace, Simulation
y Sum, tal como lo hizo en el ejemplo 16, con los mismos valores.

Ahora, comience la simulación.

Entrada Salida

29
Luis Cabezas Tito

¿Será correcta la entrada y salida igual a cero?

A continuación cambie la condición inicial de Integrator a 3. Se obtienen las siguientes gráficas:

Entrada Salida

EJEMPLO 18: construir un modelo en Simulink que resuelva la ecuación diferencial de un sistema masa-resorte-
amortiguador.

𝑑2𝑥(𝑡) 𝑑𝑥(𝑡)
𝑚 2
+𝑐 + 𝑘𝑥(𝑡) = 𝑓(𝑡)
𝑑𝑡 𝑑𝑡

 Condiciones iniciales igual a cero.


 f(t) = 2u(t) es la función escalón unitario con magnitud 2.
 Masa m = 0.4.
 Coeficiente de amortiguamiento c = 0.6.
 Coeficiente de restitución k = 1.

SOLUCIÓN:

Se graficará el siguiente modelo matemático:

1 𝑑𝑥(𝑡)
𝑥(𝑡) = ∫ ∫ (𝑓(𝑡) − 𝑐 − 𝑘𝑥(𝑡)) 𝑑𝑡. 𝑑𝑡
𝑚 𝑑𝑡

Algunas consideraciones previas:

 En el bloque Step se debe cambiar en Final value a 2.

30
Ecuaciones Diferenciales con MATLAB

 El valor de 2.5 es el inverso de la masa m = 0.4.


 Para rotar los bloques Gain se lo marca con el botón izquierdo del mouse y se presiona Ctrl + R.
 Las condiciones iniciales de los bloques Integrator debe ser cero.

Comenzar la simulación.

Entrada Salida

31
Luis Cabezas Tito

Tabla 1a: Función Gamma

32
Ecuaciones Diferenciales con MATLAB

Tabla 1b: Función Gamma

33
Luis Cabezas Tito

Tabla 1c: Función Gamma

----- oOo -----

34

Vous aimerez peut-être aussi