You are on page 1of 7

GUNIVERSIDAD CENTRAL DEL ECUADOR

Control Automático

MSc Daniel Benalcázar

Transformada de Laplace

Matlab puede procesar expresiones simbólicas para resolver ecuaciones, factorar, obtener
derivadas e integrales, etc. El comando syms crea variables simbólicas:

>> syms 't' 's'

Para obtener la transformada de Laplace de una función del tiempo se emplea el comando
laplace:

>> f = exp(-2*t)*(2*sin(t)-3*cos(t))
f=
-(3*cos(t) - 2*sin(t))/exp(2*t)
>>F = laplace(f)
F=
2/((s + 2)^2 + 1) - (3*(s + 2))/((s + 2)^2 + 1)

Para visualizar de mejor manera la respuesta se puede usar el comando pretty:

>> pretty(F)

Se pueden utilizar las expresiones factor o expand para cambiar la forma en la que está
expresada la respuesta:

>> factor(F)
>> expand(F)

Para obtener la Transformada Inversa de Laplace de una función en s, se emplea el comando


ilaplace:

>> F = (2*s+3)/((s+2)*(s+2))
F=
(2*s + 3)/(s + 2)^2
>> ilaplace(F)
ans =
2/exp(2*t) - t/exp(2*t)

Se puede expresar a una función como la suma de sus fracciones parciales con el comando
partfrac:

>> partfrac (F)


Para graficar una función en variables simbólicas se puede usar el comando ezplot(fun,[A B]).
Donde A y B son los valores mínimo y máximo del eje del tiempo:

>> f=5*(1-exp(-2*t))
f=
5 - 5/exp(2*t)
>> ezplot(f,[0 6])

Sistemas de Control Automático

Para ingresar una Función de Transferencia se pueden usar los comandos tf(N,D). Donde N y D
son vectores con los coeficientes del numerador y del denominador de la función de
transferencia. Por ejemplo, para ingresar la siguiente función:

𝑠+3
𝐺1 =
𝑠 2 + 2𝑠 + 6

>> G1 = tf([1 3],[1 2 6])


Transfer function:
s+3
-------------
s^2 + 2 s + 6

También se pueden ingresar con el comando zpk(C, P, k). Donde C es un vector que contiene
los ceros de la función de transferencia, P un vector con los polos y k es la ganancia. Por
ejemplo el siguiente sistema:

2(𝑠 + 1)
𝐺2 =
(𝑠 + 2)(𝑠 + 3)
>> G2 = zpk([-1],[-2 -3],2)
Zero/pole/gain:
2 (s+1)
-----------
(s+2) (s+3)

Para poder cambiar a función de transferencia se lo hace con la instrucción tf:

>> G2 = tf(G2)
Transfer function:
2s+2
-------------
s^2 + 5 s + 6

Para indicar conexiones en serie o paralelo se emplean las operaciones de * o +


respectivamente:

>> G3=G1*G2

Transfer function:
2 s^2 + 8 s + 6
--------------------------------
s^4 + 7 s^3 + 22 s^2 + 42 s + 36

>> G4=G1+G2

Transfer function:
3 s^3 + 14 s^2 + 37 s + 30
--------------------------------
s^4 + 7 s^3 + 22 s^2 + 42 s + 36

Para indicar una realimentación se usa el comando de feedback(G,H):

>> feedback(G1,G2)
Transfer function:
s^3 + 8 s^2 + 21 s + 18
--------------------------------
s^4 + 7 s^3 + 24 s^2 + 50 s + 42

Una realimentación unitaria se realiza con feedback(G,1):

>> feedback(G1,1)
Transfer function:
s+3
-------------
s^2 + 3 s + 9

Para obtener la respuesta paso de un sistema se utiliza el comando step:


>> step(G1)

Se puede variar el tiempo de la simulación dando como argumento un vector con el eje del
tiempo:

>> t=0:0.1:8;
>> step(G1,t)

Con click derecho sobre el gráfico y luego escogiendo Characteristics, se pueden visualizar los
índices de la respuesta transitoria y estacionaria:
Para graficar los polos y ceros en el plano complejo se utiliza el comando pzmap:

>> pzmap(G4)

Diseño de Controladores:

Matlab ofrece una herramienta que ayuda a diseñar controladores. Esta se accede escribiendo
rltool en el panel de comandos:

>> rltool(G1)

Un menú de interfaz de usuario aparece. En la pestaña de Analysis plots podemos elegir que se
muestre la respuesta paso en lazo cerrado:
En la pestaña Compensator Editor se puede incluir el controlador, modificarlo y ver como
afectan esos cambios a la respuesta paso:

N=[2 5]
D=[1 1 3]
G1=f(N,D)
G2=tf([3],[1 0 4])
G3=tf([1 0],[0 1 -2])
N=[2 5]
D=[1 1 3]
G1=f(N,D)
G2=tf([3],[1 0 4])
G3=tf([1 0],[0 1 -2])
G4=G1*G2
G5=G4-G3
G6=G3*G2
G7=feedback(G5,G6)

You might also like