You are on page 1of 10

MATLAB es un programa que integra matemáticas computacionales y

visualización para resolver problemas numéricos basándose en arreglos de matrices y


vectores.

Esta herramienta posee infinidad de aplicaciones, pero existen funciones que


involucran la resolución de problemas específicos de control de procesos como la
definición y estudio de funciones transferencia, realización de gráficos del lugar de las
raíces, de Bode y de Nyquist. A continuación se presenta una lista de las funciones de
MATLAB más utilizadas, todas estas funciones deben ser ejecutadas desde la Ventana
Principal de (MATLAB Command Window).

1) Como declarar una matriz o un vector.

Para crear una matriz o un vector se le da nombre al mismo y se escriben los


elementos de las filas y/o columnas entre corchetes. Las columnas se separan con un
espacio y las filas con punto y coma (;).

De esta forma para definir un vector se debe escribir:

X = [a b c d] y se obtendrá el vector: X = (a b c d )

a
 
b
Y = [a;b;c;d] obteniendo el vector: Y = 
c
 
d 
 

Y para definir una matriz se utilizará:

a b
A = [a b; c d] resultando la matriz: A =  
c d

Ejemplo:

1 − 2 3 
 
Definir la matriz A =  4 5 6 
 7 8 − 9
 

En la ventana principal de matlab, se debe colocar la siguiente línea:

X = [1 -2 3; 4 5 6; 7 8 -9] y presionar la tecla “enter”.


2) Como definir una función de transferencia.

Una función de transferencia se representa distinguiendo el numerador y el


denominador como vectores formados por los coeficientes de los polinomios que
forman cada término y usando el comando “tf”.

Entonces para crear una función de transferencia dada:

s+a
G(s) =
a 2 .s + a1 .s + a 0
2

Se definen los vectores:

Num = [ 1 a]

Den = [ a2 a1 a0]

Y posteriormente se utiliza el comando:

Num
G = tf(Num,Den) obteniendo G (s ) =
Den

Ejemplo:

1
Definir la función de transferencia de primer orden G (s ) =
0.5s + 1

Para esto, se definen los vectores:

Num = [ 1] ó Num = 1

Den = [0.5 1]

Posteriormente se coloca:

G = tf(Num,Den) y se presiona la tecla “enter”. La función se mostrará


inmediatamente en la pantalla.
3) Función de transferencia a lazo cerrado

En el caso de que se tenga la función de transferencia a lazo abierto y se desee


cerrar el lazo, se puede obtener la nueva función de transferencia usando el comando
“feedback”

De esta forma se escribe en la ventana principal:

(Nombre de la función) = feedback(Nombre función LA, Valor retroalimentación)

Ejemplo:

Obtener la función a lazo cerrado de la función de transferencia a lazo abierto:

1
G (s) = Con una retroalimentación unitaria.
0.5s + 1

De esta forma se define la función a lazo abierto: G = tf(Num,Den)

Y posteriormente,

H = feedback(G,1)

Inmediatamente se muestra en pantalla la nueva función:

1
G (s) =
0.5 s + 2

En el caso de que la retroalimentación sea a su vez una función de transferencia esta


debe ser definida (por ejemplo como M) y se coloca:

H = feedback(G,M)

4) Respuesta de una función de transferencia ante diferentes entradas.

Mediante el uso de los comandos “step” e “impulse” se puede obtener la


respuesta temporal de una función de transferencia dada ante una entrada escalón o
impulso unitario.

Para esto se debe colocar en la ventana de comandos:

Step(Num,Den) ó Step(nombre de la FT)


La entrada ante un impulso se encuentra de igual forma colocando el comando
“impulse”

Ejemplo:

Encontrar la respuesta temporal ante una entrada escalón de la función de transferencia


de segundo orden:

1
G (s) =
s + 0.5s + 2
2

Inicialmente se debe definir la función de transferencia como se explicó en el paso 2.

Una vez hecho esto se coloca el comando:

step(FT1) ó step(Num,Den) y se obtiene inmediatamente la figura 1.

Para obtener una mejor precisión en la lectura de la grafica se escribe el comando


“grid” en la ventana principal lo que hace que aparezcan las líneas de división en la
figura.

Si se desea graficar las respuestas de diversas funciones de transferencia en una misma


figura se puede escribir:

step(FT1,FT2,…,FTN)

Si se desea la respuesta hasta un tiempo determinado T se utiliza:

step(FT1,T)
5) Representación en espacio de estado.

Teniendo una función de transferencia dada se pueden encontrar las matrices que
conforman su espacio de estado y viceversa. Se utilizan los comandos TF2SS y SS2TF

De esta forma teniendo la función de transferencia:

Num
G (s) = y habiendo definido anteriormente a Num y Den.
Den

Se utiliza el comando:

[A,B,C,D] = tf2ss(Num,Den)

De esta forma se encuentras las matrices que representan:

x = Ax + Bu

y = Cx+Du

de forma inversa si tienen las matrices se pueden encontrar Num y Den, mediante:

[Num,Den] = ss2tf(A,B,C,D,U)

Ejemplo:

Encontrar las matrices que conforman el espacio de estado de la función de


transferencia de segundo orden dada anteriormente.

Después de definir Num y Den, se coloca el comando:

[A,B,C,D] = tf2ss(Num,Den)

Inmediatamente el programa arroja el valor de las siguientes matrices:

 − 0.5 − 2   1
A =   B = (1 0 ) C =   D=0
 1 0   0

6) Representación del lugar de las raíces.

Para obtener la grafica del lugar geométrico de las raíces de una función de
transferencia dada se usan los comandos “rlocus” y “rlocfind”. Después de definir el
numerador y denominador de la función de transferencia se escribe en la ventana
principal:
rlocus(Num,Den) inmediatamente aparecerá la figura con el calculo
de las raíces de la función de transferencia abierto.

Al hacer clic en cualquier parte del grafico, se podrá obtener el valor del polo y
ganancia en ese punto. Igualmente se puede arrastrar el cursor a través del grafico.

Al colocar la sintaxis:

rlocus(Num,Dem,K)

Se obtendrá el grafico del lugar de las raíces para un valor determinado de


ganancia K.

Al usar el comando:

Rlocfind(Num,Den)

Se puede obtener el valor de los polos y ganancia en un punto seleccionado


sobre el grafico del lugar de las raíces. Este comando debe usarse después de ejecutar
rlocus.

Ejemplo:

Encontrar el lugar geométrico de las raíces de la función de transferencia:

s +1
G (s) =
s + s 2 + 2s + 1
3

Después de definir los vectores Num = [1 1] y Den = [1 1 2 1], se escribe:

rlocus(Num,Den) y se obtiene el grafico:


Al hacer clic en cualquier punto del lugar geométrico, se puede obtener su información.

7) Diseño del lugar geométrico de las raíces y compensadores.

Al usar la herramienta “rltool”, podemos diseñar el lugar geométrico de las raíces o


compensadores.

Para abrir esta herramienta se define anteriormente la función de transferencia y se


coloca en la ventana principal:

rltool(nombre de la función)

al hacer esto se abrirá una nueva ventana de trabajo donde aparecerá el lugar
geométrico de las raíces de la función dada y se podrán colocar polos o ceros a
conveniencia observando, en el momento, la influencia de los mismos.

Si se desea diseñar una función de transferencia a partir de su lugar geométrico de


las raíces se puede colocar:

rltool(1)

De esta forma al abrirse la ventana tendremos una función sin ceros ni polos.

Ejemplo:

Observar el cambio en el lugar de las raíces del a función anterior, al añadir un cero
en s = -1.5

Se define la función anterior y se coloca:

rltool(FT1) inmediatamente aparecerá la figura:


Al seleccionar en el menú la opción “añadir cero”, y hacer clic con el botón
izquierdo en -1.5 (sobre el grafico), el lugar cambiará a:

8) Graficar funciones.

El comando “plot” permite graficar vectores de variables contra otras.


Normalmente una de estas variables es el tiempo.

Para hacer esto se debe definir los vectores a graficar y posteriormente usar el comando:

plot(x,y) la primera variable será el eje de las abscisas y la segunda el


de las ordenadas.

En el caso de que se quieran graficar a la vez diversas variables sobre una misma figura
se puede usar:

plot(t,[x;y;…;n] separando las variables a graficar vs. t, con punto y coma (;).

Si se desea un color, trazo o signo específico sobre cada punto se pueden usar el
comando de la siguiente forma:

plot(x,y,'r+:') donde la información que se encuentra entre las tildes hace que
la grafica obtenida sea de color roja (r), con signos + en cada
punto y un trazo punteado (:). Se tiene la opción de colocar
múltiples colore, trazos y punteados.

Igualmente si se grafica una función y se desea graficar otra encima de esta se puede
usar el comando “hold”.
Para usar este comando, se grafica una primera función con el comando plot,
posteriormente se ejecuta:

hold

y a continuación se grafica la segunda función con el comando plot. El resultado será


una figura con ambas graficas. Para liberar la superposición se ejecuta nuevamente el
comando hold. Cualquier grafica que se realice a continuación saldrá en otra figura.

Ejemplo:

Dada la siguiente tabla de datos, graficar X vs. Tiempo. Graficar también X,Y vs.
Tiempo.

Tiempo X Y
0 1 -2
1 2 -1
2 3 0
3 4 1
4 5 2

Inicialmente se definen los vectores:

t=[0 1 2 3 4] x=[1 2 3 4 5] y=[-2 -1 0 1 2]

A continuación se usa el comando plot:

plot(t,x,’g*-.’) y se obtiene la grafica:


En el segundo caso se debe escribir:

plot(t,[x,y]) y se obtendrá:

Si se desea colocar líneas de división en el grafico se puede usar el comando grid. Las
leyendas, títulos, colores o cualquier otro detalle del grafico pueden ser colocados
usando las opciones mostradas en la ventana de la figura o en su menú de propiedades.

9) Menú de ayuda HELP.

Matlab posee un menú de ayuda que permite resolver problemas referentes a


definición o uso de comandos. Para obtener cualquier información sobre un comando
deseado o en particular para cualquiera de los explicados en esta guía se debe escribir en
la ventana principal:

help (nombre de la función o comando)

Por ejemplo:

Help plot

Help rlocus

Help ft

You might also like