Vous êtes sur la page 1sur 37

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

GUA PARA EL USO DE MATLAB PARTE 1


GUA DE USUARIO BSICO PARA MATLAB
El programa Matlab
MatLab (MATrix LABoratory) es un programa para realizar clculos numricos con
vectores y matrices. Una de las capacidades ms atractivas es la de realizar una
amplia variedad de grficos en dos y tres dimensiones.
MatLab es un gran programa de clculo tcnico y cientfico, que tiene su propio
lenguaje de programacin. Dicho lenguaje, es una herramienta de alto nivel para
desarrollar aplicaciones tcnicas fciles de utilizar.
Al arrancar MatLab se abre una ventana como la indicada en la Figura 1.

Figura 1 Ventana Inicial

La parte ms importante de la ventana inicial es la Command Windows, que aparece


en la parte derecha (recuadrada en rojo en la Figura 2). En esta sub-ventana es
donde se ejecutan los comandos de MatLab, a continuacin del smbolo caracterstico
(>>), que indica que el programa est preparado para recibir instrucciones.

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Figura 2 Sub-ventanas de comandos

En la parte izquierda de la pantalla aparecen dos ventanas tambin muy tiles: en la


parte superior aparece la ventana (recuadrada en verde en la Figura 2) Current
Folder, que se puede alternar con Workspace clickeando en la pestaa
correspondiente. La ventana Current Folder muestra los ficheros del directorio activo o
actual. El Workspace contiene informacin sobre todas las variables que se hayan
definido en esta sesin y permite ver y modificar las matrices y vectores con los que
se est trabajando.
En la parte inferior aparece la ventana (recuadrada en azul en la Figura 2) Command
History que muestra los ltimos comandos ejecutados en la Command Window. Estos
comandos se pueden volver a ejecutar haciendo doble click sobre ellos.
La instrucciones se pueden proporcionar directamente en la venta de comando
(Command Window) o a travs de ficheros-M (o M-files). Estos ficheros tienen la
extensin *.m y contienen conjuntos de comandos o definicin de funciones. La
importancia de estos ficheros-M es que al teclear su nombre en la lnea de comandos
y pulsar Intro, se ejecutan uno tras otro todos los comandos contenidos en dicho
fichero.
Aunque los ficheros *.m se pueden crear con cualquier editor de texto tal como Block
de Notas, Notepad, Word, etc, MatLab dispone de un editor que permite crear y
modificar estos ficheros, como ejecutarlos paso a paso para ver si contiene errores.
La Figura 3 muestra la ventana principal del Editor. El editor muestra con diferentes

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

colores los diferentes tipos o elementos constitutivos de los comandos (en verde los
comentarios, en rojo las cadenas de caracteres, etc.). Las lneas de comentario se
indican con el carcter % delante del comentario.

Figura 3 Ventana del editor de texto

Operaciones con vectores y matrices


Para definir una matriz o un vector no hace falta establecer de antemano su tamao.
Las matrices se definen por filas, los elementos de la misma fila estn separados por
blancos o por comas, mientras que las filas estn separadas por pulsaciones intro o
por caracteres punto y coma (;). Por ejemplo el siguiente comando define una matriz
A de dimensin 3x3:

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

De forma anloga a las matrices, es posible definir un vector fila x en la forma


siguiente:

En MatLab se accede a los elementos de un vector poniendo el ndice entre


parntesis, por ejemplo:

Para definir un vector columna y hay que separar los elementos por (;) o intro,

Y de la misma forma se accede a un elemento de l:

MatLab tiene en cuenta la diferencia entre vectores fila y vectores columna. Si


intentamos sumar los vectores x e y obtendremos el siguiente mensaje de error:
4

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Para poder sumar los vectores necesitamos que ambos sean vectores filas o ambos
columna.

Si hacemos:

Transforma el vector fila x en un vector columna.


Si sumamos ahora obtenemos:

Si transformamos y en vector fila y sumamos, entonces:

Operaciones entre vectores


MatLab puede operar con vectores por medio de operadores y por medio de
funciones.
Los operadores son los siguientes:
Suma (+) :

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Resta (-) :

Multiplicacin (*):

1. Vector fila por vector columna, el resultado


es un nmero.

2. Vector columna por vector fila, el resultado es una matriz.

Producto elemento a elemento (.*):


1. Por un nmero:

2. Por un vector elemento a elemento:

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Divisin elemento a elemento:

1. Divisin de todos los elementos del vector por un nmero(./)

2. Divisin de un nmero por todos los elementos de un vector (.\)

Elevar a una potencia elemento a elemento (.^)

Si anteriormente no hemos definido el vector x se hace de la misma forma, es decir:

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Funciones de Matlab
Funciones Matemticas elementales: Se aplican a valores escalares o a vectores
elemento a elemento.
sin(x) -> funcin seno
cos(x)-> funcin coseno
tan(x) -> funcin tangente
log(x) -> funcin logaritmo neperiano
log10(x) -> funcin logaritmo decimal
exp(x) -> funcin exponencial
sqrt(x) -> funcin raz cuadrada
round(x) -> funcin redondeo hacia el entero mas prximo
abs(x) -> funcin valor absoluto

Funciones que actan sobre vectores: Las siguientes funciones solo actan
sobre vectores.
[xm,im ]=max(x)

[ym,jm]=min(x)
sum(x)
mean(x)
std(x)

Devuelve el valor mximo xm y la posicin im del vector x


Devuelve el valor mnimo ym y la posicin jm
Suma de los elementos de un vector
Valor medio de los elementos del vector
Desviacin estndar

Funciones para clculos con polinomios: Para MatLab un polinomio se puede


definir mediante un vector de coeficientes. Por ejemplo, el polinomio:
x4-8x2+6x -10=0
se puede representar mediante el vector [1, 0, -8, 6, -10]. MatLab puede realizar
diversas operaciones sobre l, como por ejemplo evaluarlo para un determinado valor
de x

Si se tiene el siguiente polinomio:


p(s) = s3 + 3s2 + 4

p=[1 3 0 4]

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Algunas de las funciones que podemos realizar sobre ste son las siguientes:

r=roots(p)

Calcula las races


de p(s)=0

r=
-3.3553
0.1777 + 1.0773i
0.1777 - 1.0773i
Rearma el polinomio
a partir de las races

q=poly(r)
q=
1.0000

3.0000

races
0.0000

4.0000 + 0.0000i

Tambin podemos realizar:


p=[3 2 1]; q=[1 4];
n=conv(p,q)
n=

Multiplica los
polinomios p y q
n(s)=3s3+14s2+9s+4

3 14

val=polyval(n,-5)
val = -66

Evala n(s) en s=-5

Grficas bi-dimensionales
MatLab dispone de cinco funciones bsicas para crear grficos 2-D. Estas funciones
se diferencian principalmente por el tipo de escala que utilizan en los ejes de abscisas
y de ordenadas. Estas cuatro funciones son las siguientes:
plot() crea un grfico a partir de vectores y/o columnas de matrices, con
escalas lineales sobre ambos ejes.
loglog() dem con escala logartmica en ambos ejes.
semilogx() dem con escala lineal en el eje de ordenadas y logartmica en el
eje de abscisas.
semilogy() dem con escala lineal en el eje de abscisas y logartmica en el eje
de ordenadas.

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

plotyy() dibuja dos funciones con dos escalas diferentes para las ordenadas,
una a la derecha y otra a la izquierda de la figura.
Existen adems otras funciones orientadas a aadir ttulos al grfico, a cada uno de
los ejes, a dibujar una cuadrcula auxiliar, a introducir texto, etc. Estas funciones son
las siguientes:

title('ttulo') aade un ttulo al dibujo.

xlabel('tal') aade una etiqueta al eje de abscisas. Con xlabel off desaparece.

ylabel('cual') aade una etiqueta al eje de ordenadas. Con ylabel off


desaparece.

Ejemplo:

Una segunda forma de utilizar la funcin plot() es con dos vectores como argumentos.
En este caso los elementos del segundo vector se representan en ordenadas frente a
los valores del primero, que se representan en abscisas.

10

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Ejemplo:

Por ltimo, desde la ventana de graficacin pueden realizarse cambios en las formas
de mostrar las funciones como por ejemplo modificar colores, escalas, agregar
leyendas, etc.
Una ventana grfica se puede dividir en m particiones horizontales y n verticales, con
objeto de representar mltiples grficos en ella. Cada una de estas subventanas tiene
sus propios ejes, aunque otras propiedades son comunes a toda la figura. La forma
general de este comando es:

donde m y n son el nmero de subdivisiones en filas y columnas, e i es la subdivisin


que se convierte en activa. Las subdivisiones se numeran consecutivamente
empezando por las de la primera fila, siguiendo por las de la segunda, etc. Por
ejemplo, la siguiente secuencia de comandos genera seis grficos en la misma
ventana:

11

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Es posible dibujar varias funciones en una sola ventana con la instruccin:


>>hold on;
Para desactivarla solo es necesario escribir:
>>hold off;

12

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

13

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

GUIA PARA EL USO DE MATLAB PARTE 2


TOOLBOX DE CONTROL
FUNCION DE TRANSFERENCIA
MatLab es una potente herramienta para el anlisis de sistemas descriptos por
funciones de transferencia.
La funcin de transferencia de un sistema lineal e invariante en el tiempo, relaciona la
transformada de Laplace de la salida con la transformada de Laplace de la entrada en
un sistema de ecuaciones diferenciales a condiciones iniciales nulas. En forma
genrica se representa de la siguiente forma:

Y ( s) am s m am1 s m1 ...a1 s a0
G( s)

U ( s)
s n bn1 s n1 ...b1 s b0
En sistemas reales o fsicamente realizables m <= n.
El polinomio del denominador igualado a cero representa la ecuacin caracterstica
que se utiliza ampliamente en el anlisis de la estabilidad del sistema.
Para crear funciones de transferencia en MatLab se utilizan los siguientes comandos:

a)

g=tf(num,den)

dnde num es un vector que contiene los coeficientes del polinomio del numerador
de G(s) ordenado respecto a las potencias de s donde el primer elemento es el
coeficiente que acompaa a la mayor potencia de s. den es otro vector que contiene
los coeficientes del polinomio del denominador de G(s) ordenados de la misma forma
que para el numerador.
Ejemplo de sintaxis en MatLab
% Introducir una funcin de transferencia polinmica

G( s)

s 2 2.s 3
s 3 3.s 2 3.s 1

14

Control Bsico

b)

Toolbox: Control System

Facultad de Ingeniera-UNER

g=zpk(z,p,k)

Donde z es un vector que contienen los ceros del numerador de G(s), p es un


vector que tiene los polos de G(s) y k es la ganancia esttica de G(s)
Ejemplo de sintaxis en MatLab
%Cargar en Matlab una G(s) que tiene ceros en -1 y -2, polos en -10, -3+/-3i
% y ganancia esttica k=5

G( s)

c)

5( s 1)(s 2)
( s 10)(s ^ 2 6s 18)

s=tf(s)

A partir de esta instruccin de puede utilizar la s en las expresiones polinmicas de


G(s) para que Matlab las interprete como funciones de transferencia.
Ejemplo de sintaxis en MatLab

s 2 2.s 3
G( s) 3
s 3.s 2 3.s 1

% Introducir una funcin de transferencia polinmica

15

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Una funcin de transferencia se puede descomponer en fracciones simples, utilizando


la instruccin residue de MatLab. La diferencia con respecto a la forma tradicional
de trabajo, es que, si existen polos complejos, los residuos que devuelve residue
corresponden a cada uno de los polos:
G( s)

Y ( s) a m s m a m1 s m1 ...a1 s a 0
r (1)
r ( 2)
r ( n)

......
k ( s)
n
n 1
U ( s)
s bn 1 s ...b1 s b0
s p(1) s p(2)
s p( n)

G( s)

Y ( s) num( s)

U ( s) den( s)

[r,p,k]=residue(num,den)

residuos

polos

trmino independiente

Como prctica ingresar la siguiente funcin de transferencia y descomponerla en


fracciones simples :

G( s)
n=[1 1];
d=[1 3 1 7];
[r,p,k]=residue(n,d)

s 1
s 3.s 2 s 7
3

r=
-0.1630
0.0815 - 0.1493i
0.0815 + 0.1493i
p=
-3.3307
0.1654 + 1.4402i
0.1654 - 1.4402i
k=

[]

16

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

REPRESENTACIN EN DIAGRAMA DE BLOQUES:


Los diagramas de bloques representan grficamente a un sistema indicando las
funciones realizadas por cada componente y el flujo de las seales. Generalmente los
elementos que podemos encontrar en este tipo de representacin son: la planta
(elemento a controlar), controladores, actuadores, sensores, entre otros.
Un sistema sencillo de control a lazo abierto lo podemos obtener a partir de la
interconexin en serie de la planta y del controlador. La funcin de transferencia
obtenida para este caso en forma genrica sera:

U(s)

SISTEMA 1
G1(s)

T ( s)

SISTEMA 2
G2(s)

Y ( s) num

U ( s) den

G1( s)

num1
den1

Y(s)

G2( s)

num2
den2

[num,den]=series (num1,den1,num2,den2)

En ciertos sistemas pueden aparecer bloques en paralelo, y para su resolucin,


MatLab utiliza la instruccin parallel:

SISTEMA 1
G1(S)
+

Y(S)

U(s)
+
SISTEMA 2
G2(S)

17

Control Bsico

Toolbox: Control System

T ( s)

Y ( s) num

U ( s) den

G1( s)

num1
den1

Facultad de Ingeniera-UNER

G2( s)

num2
den2

[num,den]=parallel(num1,den1,num2,den2)
En el caso que se quiera obtener la funcin de transferencia de un sistema
realimentado podemos utilizar la funcin feedback de MatLab para calcular la
funcin resultante :

R(s)
+

Y(s)

SISTEMA 1
G(S)

SISTEMA 2
H(S)

T ( s)

Y ( s) num

U ( s) den

G( s)

num1
den1

H(s) =

num2
1 Realimentacion Positiva o negativa
den2

[num,den]=feedback(num1,den1,num2,den2,signo)
Como ejemplo se calcula la funcin de transferencia total de los siguiente diagrama de
bloques haciendo uso de las instrucciones de Matlab de dos maneras diferentes :
Entrada
+
-

540

+
-

10
s 1
1
2. s 0.5

Salida
+
+

01
.

18

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

>> s=tf(s);
>> f1=10/(s+1);
>> f2=1/(2*s+0.5);
>> f3=0.1;
>> f4=540;
>> fp=parallel(f1,f2);
>> fb=feedback(fp,f3,-1);
>> fs=series(fb,f4);
>> ft=feedback(fs,1,-1);
>> ft

Transfer function:
11340 s + 3240
-------------------------2 s^2 + 1.134e004 s + 3241

Resumen de instrucciones para la resolucin de bloques:


Funcin en
MATLAB

Descripcin

Sintaxis basica

feedback

Sistema
Realimentado

H=feedback(H1,H2)

parallel

series

Diagrama

Es el paralelo
de dos
sistemas, es
H=parallel(H1,H2)
equivalente a
sumar sistemas.
Sistemas en
serie, es
equivalente a
multiplicar
sistemas.

H=series(H1,H2)

19

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

RESPUESTA TEMPORAL DE SISTEMAS:


El objetivo que nos planteamos es el de mostrar cmo Matlab describe la respuesta
temporal de cualquier sistema a diferentes entradas:

Entrada escaln :

Y(t) - salida valuada en t

G(s) =

num
den

X(t) - respuesta de esatdo en t


t - tiempo de simulacion

t - tiempo al que es calculado la respuesta al escalon


( opcional )

[y,x,t]=step(num,den,t)

Ejemplo usando funcin de transferencia:

20

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Entrada impulso :

Y(t) - salida valuada en t

G(s) =

num
den

X(t) - respuesta de esatdo en t


t - tiempo de simulacion

t - tiempo al que es calculado la respuesta al


impulso

( opcional )

[y,x,t]=impulse(num,den,t)

21

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Ejemplo usando funcin de transferencia:

Entrada arbitraria creada por el usuario :

Y(t) - salida valuada en t

G(s) =

num
U - entrada
den

t - tiempo al que es calculado la respuesta a U

X(t) - respuesta de esatdo en t

[y,x]=lsim(num,den,u,t)

22

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Ejemplo usando funcin de transferencia:

LUGAR DE RACES:
Teniendo un sistema como el de la
figura la funcin transferencia a lazo
cerrado es:

La ecuacin caracterstica esta dada por el denominador de esta funcin transferencia


igualado a cero.

Para que esta igualdad se cumpla, y recordando que estamos en el plano complejo,
se deben cumplir dos condiciones:

23

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Condicin de ngulo:

Condicin de mdulo:

El lugar de races es un mtodo a travs del cual se puede visualizar como varan las
races de la funcin transferencia a bucle cerrado a medida que la ganancia K del
sistema crece de cero a infinito. Teniendo en cuenta que la ecuacin caracterstica
debe tener la siguiente forma:

Utilizando la instruccin rlocus en MatLab puede obtenerse el lugar de races de una


funcin transferencia.
Ejemplo:
% Siendo g la funcin en transferencia a bucle abierto.

24

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Los detalles de cmo trabajar con la grfica (lmites, ttulos, colores, etc) sern
explicados en la seccin de respuesta en frecuencia ya que son similares a los que se
pueden realizar sobre los diagramas de Bode.

RESPUESTA EN FRECUENCIA:
La funcin respuesta en frecuencia representa la manera en que el sistema responde
a entradas de diferentes frecuencias. Para calcularla, se reemplaza la variable s de la
funcin de transferencia por j.

Bode
La orden bode calcula las magnitudes y los ngulos de fase de la respuesta en
frecuencia de sistemas continuos, lineales e invariantes en el tiempo. Los diagramas
de Bode se utilizan frecuentemente para analizar y disear sistemas de control. Estos
diagramas indican el margen de ganancia, el margen de fase, la ganancia, el ancho
de banda, etc.
Cuando se introduce la orden bode (sin argumentos del lado izquierdo), MatLab
realiza el diagrama de bode sobre la pantalla, permitiendo adems recuperar datos de
los diferentes puntos.

25

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

El diagrama de bode, resulta de mucha utilidad a la hora de establecer la estabilidad


relativa de los sistemas. Para esto se utilizan los mrgenes de estabilidad:
Margen de Ganancia: Es valor de la ganancia en db cuando la fase cruza por -180
cambiado de signo. Para la estabilidad, este parmetro debe ser mayor a 6 db.
Margen de Fase: Es el valor que toma la fase cuando la Magnitud cruza por 0db
sumado a 180. Para la estabilidad, este parmetro debe ser mayor a 30.

En la grfica se muestran los valores correspondientes al margen de fase y al margen


de ganancia del sistema. Para que stos indicadores aparezcan en pantalla, se debe
hacer click con el botn derecho del mouse sobre la grfica, seleccionar la opcin
Caractersticas y luego elegir Mrgenes de estabilidad mnimos. Hacer click con el
botn izquierdo del mouse sobre los puntos para que aparezca el letrero.
Al hacer click con el botn derecho del mouse sobre las grficas aparecen varias
opciones:
System: indica con qu color se estn representando cada funcin de
transferencia en caso de que estemos graficando varias de ellas. De igual
modo, se puede seleccionar para que solo aparezca en la grfica la funcin de
transferencia que a m me interesa ver.

26

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Caractersticas: Posee tres opciones, de las cuales los dos ltimas tiene
relacin a los mrgenes de ganacia y fase. La primer opcin, permite encontrar
un pico en la magnitud en caso de que la grfica lo posea.
Show: Permite seleccionar si se quiere visualizar la magnitud, la fase o ambas
grficas en la misma ventana.
Grid: Agrega una grilla que facilita la observacin de las grficas.
Full view: Optimiza la visualizacin de las grficas a fin de utilizar todo el
espacio disponible con el trazado de la grfica.
Propiedades:

Dicha ventana permite modificar varios parmetros de la grfica como por ejemplo:
etiquetas sobre los ejes, lmites de la grafica, unidades de las variables, estilos de
grfica ( semilogartmico, lineales) y desde esta ventana tambin se pueden varias las
opciones antes descriptas.
Para obtener informacin de la grafica o de cualquier punto de la misma, se debe
hacer click con el botn izquierdo sobre la grfica. A continuacin aparecer un punto
cuadrado negro, con la informacin de dicho punto. Si colocamos el mouse sobre el
punto y mantenemos apretado el botn izquierdo, podemos arrastrar el punto sobre la
grfica hasta cualquier punto de inters de la misma.
Al escribir la sentencia margin (funcin de transferencia) se obtiene lo siguiente:

27

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Por otra parte, es posible obtener los mrgenes de ganancia y los mrgenes de fase
mediante la funcin margin.
[mg,mf,wmg,wmf]=margin(num, den);

Mg es el margen de ganancia del sistema.


Mf es el margen de fase.
Wmg es la frecuencia a la cual sucede el cruce de la fase por -180.
Wmf es la frecuencia de cruce de ganancia por cero.
Otra forma de introducir la sentencia bode en Matlab es la siguiente:

Las matrices mag y fase contienen las magnitudes y los ngulos de fase de la
respuesta en frecuencia del sistema evaluados en los puntos de frecuencia
especificados por el usuario.
El vector w se define, por ejemplo, de la siguiente manera:

Siendo el valor representado por -2, en este caso, la potencia del lmite menor de la
grfica. El 3 representa la potencia del lmite superior. Por ltimo, el 100 es la cantidad
de espacios separados logartmicamente entre los extremos.

28

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Nyquist
Es otra manera de representar la respuesta en frecuencia del sistema. Consiste en
una grfica donde el eje x se denomina eje real y el y, eje imaginario. La imagen se
construye con la magnitud y la fase segn cmo varen con la frecuencia .

Por otra parte, es posible obtener los mrgenes de ganancia y los mrgenes de fase
mediante la funcin margin.
[mg,mf,wmg,wmf]=margin(num, den);
Mg es el margen de ganancia del sistema.
Mf es el margen de fase.
Wmg es la frecuencia a la cual sucede el cruce de la fase por -180.
Wmf es la frecuencia de cruce de ganancia por cero.

29

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

GUIA PARA EL USO DE MATLAB PARTE 3


Symbolic Math Toolbox
Las rutinas de matemtica simblica de MatLab son utilizadas para poder escribir
ecuaciones con variables genricas sin necesidad de crear vectores.
Algunas ventajas del Symbolic Math Toolbox para el diseo y anlisis de sistemas:

Las funciones y ecuaciones se pueden ingresar de manera simblica, pudindose


utilizar tanto caracteres alfabticos como numricos. Por ejemplo puede ingresar
B = x^2+3*x+7, en lugar de B= [1 3 7]. Tambin puede ingresar B=a*x^2+b*x+c.
Se pueden manipular algebraicamente y simplificar expresiones simblicas.
Las transformadas de Laplace y Z se pueden ingresar y determinar sus inversas
en forma simblica.
Las funciones se puede imprimir con una mejor presentacin para mejor claridad
en la Command Window y entonces imprimirse en papel.

1. Definicin de objetos simblicos:


El inicio de cualquier clculo simblico requiere definir los objetos simblicos, por ejemplo,
la variable de la transformada de Laplace (s) o la variable de tiempo (t).
Se utiliza el comando:
syms s t, siendo s y t la variables simblicas.
Solamente en necesario definir los objetos que entran al programa, las variables
producidas por el programa no necesitan definirse. De este modo, si se est
determinando transformadas inversas de Laplace, solamente se necesita definir s puesto
que t resulta del clculo.
2. Imprimir con mejor presentacin:
Se utiliza el comando pretty(F), siendo F la funcin que se quiere imprimir en bonito.
Ejemplo 1:
syms s; %declaro variable simblica
F=2/[(s+1)*(s+2)^2] %funcin de transferencia
pretty(F) %imprimo en bonito
f=ilaplace(F) %transformada inversa
pretty(f)

Vista en Command Window:

Sin pretty:

F=
2/((s + 1)*(s + 2)^2)

30

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Con pretty:

2
---------------2
(s + 1) (s + 2)
3. Cambios en la apariencia de los resultados desplegados:

collect(F,s): Rene los trminos con coeficientes comunes de F, si coloco s le


aclaro que variable quiero que rena.
expand(F): Expande los productos de factores.
factor(F): Factores de F.
simple(F): Determina la forma ms sencilla de F con el menor nmero de
trminos.
simplify(F): Simplifica F.
vpa(expression, places): Quiere decir precisin aritmtica variable, este comando
convierte trminos simblicos fraccionarios en trminos decimales con un nmero
especfico de lugares despus de la coma.

Ejemplo 2:
syms t;
f=2*exp(-t)-2*t*exp(-2*t)-2*exp(-2*t);%defino la funcin en el tiempo
'Funcin en el tiempo' %desplego etiqueta
pretty(f)
F=laplace(f);%calculo su transformada, tener en cuenta que Matlab da F(s)
%fracciones parciales
'Transformada'
pretty(F) %imprimir en bonito las fracciones paciales
F=simplify(F); %Combino las fracciones parciales
'Con simplify'
pretty(F)

Vista en Command Window:


Funcin en el tiempo

2
2
2t
------ - -------- -------exp(t) exp(2 t)
exp(2 t)

31

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Transformada

2
2
2
----- - ----- - -------s+1 s+2
2
(s + 2)
Con simplify

2
---------------2
(s + 1) (s + 2)
Ejemplo 3:
syms t;
f=3/16-3/16*exp(-t)*[cos(2*t)+(1/2)*sin(2*t)];
F=laplace(f);
'Transformada'
pretty(F)
F=vpa(F,3);
'Precisin aritmtica variable con pretty'
pretty(F);

Vista en Command Window:


Transformada

3
3 (s + 1)
---- - ----------------- 16 s
2
16 ((s + 1) + 4)

3
----------------2
16 ((s + 1) + 4)

Precisin aritmtica variable con pretty

0.188
----- s

0.188
---------------- 2
(s + 1.0) + 4.0

0.188 (s + 1.0)
---------------2
(s + 1.0) + 4.0

Ejemplo 4:
syms x y z;
a=collect(((log(x)+2*x)*(x+2)))
b=collect((2*x+y)*(x^3+5*y+3),y)

32

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

d=expand((z+3)*(z+6)*(z-4))
e=x^3+x^2+3*x+x*y+x*z;
f=factor(e)
g=sin(x)^2+cos(x)^2;
h=simple(g)

Vista de Command Window


a=
2*x^2 + (log(x) + 4)*x + 2*log(x)
b=
5*y^2 + (x^3 + 10*x + 3)*y + 2*x*(x^3 + 3)
d=
z^3 + 5*z^2 - 18*z - 72
f=
x*(x^2 + x + y + z + 3)
h=
1
4. Funciones transferencia con la regla de Cramer:
La regla de Cramer da la solucin de un sistema de ecuaciones lineales con el mismo
nmero de incgnitas que de ecuaciones, el determinante de la matriz de los coeficientes
debe ser distinto de cero.
Un sistema de ecuaciones lineales tiene la forma Ax=B, siendo A la matriz formada por
los coeficientes de las incgnitas, x es el vector de las incgnitas y B es un vector que
contiene las entradas.
Xk= det(Ak)/det(A), siendo Ak la matriz formada al reemplazar la k-sima columna de la
matriz A con elvector de entrada B
Ejemplo 5:
Dado el siguiente circuito obtener la funcin de transferencia (I2/V) aplicando regla de
Cramer.

33

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

Solucin:
Obtenemos el sistema de ecuaciones:
(R1+Ls) I1 - Ls
I2 = Vi
-Ls
I1 + (Ls+R2+1/Cs) I2 = 0

LC.s 2
G( s)
( R 2 R1)CL.s 2 ( R1R2C L).s R1
En MatLab:
syms Vi R1 L R2 C s;
A2=[(R1+L*s) Vi;-L*s 0];
A=[(R1+L*s) -L*s; -L*s (L*s+R2+(1/(C*s)))];
I2=det(A2)/det(A)
G=I2/Vi;
G=collect(G,s)
pretty(G)

Vista en Command Window


I2 =
(C*L*Vi*s^2)/(R1 + L*s + C*L*R1*s^2 + C*L*R2*s^2 + C*R1*R2*s)

G=
((C*L)*s^2)/((C*L*R1 + C*L*R2)*s^2 + (L + C*R1*R2)*s + R1)

2
(C L) s
------------------------------------------2
(C L R1 + C L R2) s + (L + C R1 R2) s + R1

34

Control Bsico

5.

Toolbox: Control System

Facultad de Ingeniera-UNER

Ingreso de funciones de transferencia complicadas:

Cuando se tiene funciones de transferencia complicadas, se puede hacer distributiva en


tres pasos.
Ejemplo 6:
En MatLab:
syms s;
G=(54*(s+27)*(s^3+52*s^2+37*s+73))...
/(s*(s^4+872*s^3+437*s^2+89*s+65)*(s^2+79*s+36));
[numg,deng]=numden(G);
numg=sym2poly(numg);
deng=sym2poly(deng);
'Funcin transferencia reordenada'
Gtf=tf(numg,deng)
'Funcin de transferencia en forma de ceros y polos'
Gzpk=zpk(Gtf)

Vista en Command Window


Funcin transferencia reordenada
Transfer function:
54 s^4 + 4266 s^3 + 77814 s^2 + 57888 s + 106434
--------------------------------------------------------------------s^7 + 951 s^6 + 69361 s^5 + 66004 s^4 + 22828 s^3 + 8339 s^2 + 2340 s
Funcin de transferencia en forma de ceros y polos
Zero/pole/gain:
54 (s+51.31) (s+27) (s^2 + 0.6934s + 1.423)
-------------------------------------------------------------------s (s+871.5) (s+78.54) (s+0.558) (s+0.4584) (s^2 - 0.05668s + 0.1337)

6. Graficacin:
Se pueden hacer grficas bidimensionales con objetos simblicos, se utiliza la instruccin
ezplot(f, [xmin xmax]), si no se colocan los valores [xmin xmax], MatLab grafica
automticamente entre -2*pi y 2*pi.
Ejemplo7:
En MatLab:
syms x;hold on;
ezplot(abs(x), [-3 3]);
ezplot(x^2, [-3 3])
figure
subplot(2,1,1)
ezplot(cos(x))

35

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

subplot(2,1,2)
ezplot(x^3)

36

Control Bsico

Toolbox: Control System

Facultad de Ingeniera-UNER

37

Vous aimerez peut-être aussi