Está en la página 1de 108

UNIVERSIDAD DEL ZULIA

PROGRAMA DE INGENIERIA. NUCLEO CABIMAS


DIPLOMADO DE CONTROL DE PROCESOS E INSTRUMENTACION DE PLANTAS.

Anlisis y control de sistemas utilizando MATLAB

CURSO INTRODUCTORIO

CABIMAS, Agosto 2010

UNIVERSIDAD DEL ZULIA


PROGRAMA DE INGENIERIA. NUCLEO CABIMAS

Anlisis y control de sistemas utilizando MATLAB

PONENTE: Ing. Marco Ferrer CABIMAS, MARZO 2010

Expectativas sobre el curso


Que estoy haciendo aqu ???

Que es MATLAB ???

Para que me sirve ???


Base fundamental necesaria ??? (Matemtica y Computacional)

Que es MATLAB? MATLAB es un entorno de computacin y desarrollo de aplicaciones totalmente integrado orientado para llevar a cabo proyectos en donde se encuentren implicados elevados clculos matemticos y la visualizacin grfica de los mismos.

ORIGEN DEL PROGRAMA MATLAB

El nombre MATLAB viene de "Matrix Laboratory" (Laboratorio Matricial). Fue originalmente escrito para proveer acceso fcil al software matricial desarrollado por los proyectos LINPACK y EISPACK, que juntos representan al mayor fabricante de software para computacin matricial.

Programas de apoyo especializado que extienden significativamente el nmero de funciones incorporadas en el programa principal. Estos Toolboxes cubren en la actualidad prcticamente casi todas las reas principales en el mundo de la ingeniera y la simulacin

proceso de imgenes, seal, control robusto, control de procesos, estadtica, anlisis financiero, matemticas simblicas, redes neurales, lgica difusa, identificacin de sistemas, simulacin de sistemas dinmicos, etc.

MATLAB se puede arrancar como cualquier otra aplicacin de Windows 95/98/NT, clicando dos veces en el icono correspondiente en el escritorio o por medio del men inicio. En la ventana inicial se sugieren ya algunos comandos para el usuario inexperto que quiere echar un vistazo a la aplicacin. En dicha ventana aparece tambin el prompt (aviso) caracterstico de MATLAB ().

Otro de los puntos fuertes de MATLAB son los grficos


x=-4:.01:4; y=sin(x); plot(x,y), grid, title('Funcin seno(x)')

Para borrar todas las salidas anteriores de MATLAB y dejar limpia la ventana principal se pueden utilizar las funciones clc y home. La funcin clc (clear console) elimina todas las salidas anteriores, mientras que home las mantiene, pero lleva el prompt ( ) a la primera lnea de la ventana. Si se desea salir del programa, basta teclear los comandos quit o exit, o bien elegir Exit MATLAB en el men File (tambin se puede utilizar el Alt+F4 de todas las aplicaciones de Windows).

clf borra la figura actual y por tanto despeja la ventana de grficos. clear no afecta a las ventanas, pero si borra todas las variables de la memoria Para ver algunas de las capacidades de MATLAB, usar el comando demo, que inicia el MATLAB EXPO, un entorno grfico de demostracin que ilustra algunos tipos de operaciones que se pueden realizar con MATLAB. Para abortar un comando en MATLAB, mantener presionada la tecla de control y oprima c (Ctrl. + c). Esto ocasiona un interrupcin local dentro del MATLAB. Para acceder al men de ayuda se debe usar el comando help.

El ; al final de la instruccin omite el eco o salida a la pantalla.

OPERACIONES CON VECTORES Y MATRICES

MATLAB es fundamentalmente un programa para clculo matricial. Inicialmente se utilizar MATLAB como programa interactivo, en el que se irn definiendo las matrices, los vectores y las expresiones que los combinan y obteniendo los resultados sobre la marcha. Si estos resultados son asignados a otras variables podrn ser utilizados posteriormente en otras expresiones. En este sentido MATLAB sera como una potente calculadora matricial
Antes de tratar de hacer clculos complicados, la primera tarea ser aprender a introducir matrices y vectores desde el teclado. Ms adelante se vern otras formas ms potentes de definir matrices y vectores.

Como introducir datos en Matlab?

DEFINICIN DE MATRICES DESDE TECLADO Para definir una matriz no hace falta establecer de antemano su tamao Las matrices se definen por filas; los elementos de una misma fila estn separados por blancos o comas, mientras que las filas estn separadas por pulsaciones intro o por caracteres punto y coma (;).

Por ejemplo, el siguientge comando define un vector de tres elementos

A=[1 2 3] La respuesta del programa es la siguiente: A= 123

El siguiente comando define una matriz A de dimensin (3x3): A=[1 2 3; 4 5 6; 7 8 9]

La respuesta del programa es la siguiente: A= 123 456 789

A partir de este momento la matriz A est disponible para hacer cualquier tipo de operacin con ella (adems de valores numricos, en la definicin de una matriz o vector se pueden utilizar expresiones y funciones matemticas). Por ejemplo, una sencilla operacin con A es hallar su matriz traspuesta. En MATLAB el apstrofo (') es el smbolo de trasposicin matricial. Para calcular A' (traspuesta de A) basta teclear lo siguiente (se aade a continuacin la respuesta del programa): A' ans = 147 258 369

La variable ans puede ser utilizada como operando en la siguiente expresin que se introduzca. Tambin podra haberse asignado el resultado a otra matriz llamada B:

B=A' B= 1 4 2 5 3 6

7 8 9

Ahora ya estn definidas las matrices A y B, y es posible seguir operando con ellas. Por ejemplo, se puede hacer el producto B*A (deber resultar una matriz simtrica):

B*A ans = 66 78 78 93 90 108

90 108 126

En MATLAB se accede a los elementos de un vector poniendo el ndice entre parntesis (por ejemplo x(3) x(i)). Los elementos de las matrices se acceden poniendo los dos ndices entre parntesis, separados por una coma (por ejemplo A(1,2) A(i,j)). teniendo en cuenta esto puede accederse a cualquier elemento de una matriz con un slo subndice. Por ejemplo, si A es una matriz (3x3) se obtiene el mismo valor escribiendo A(1,2) que escribiendo A(4).

Invertir una matriz es casi tan fcil como trasponerla.

A=[1 4 -3; 2 1 5; -2 5 3] A= 1 4 -3 2 1 5 -2 5 3 B=inv(A) B= 0.1803 0.2213 -0.1885 0.1311 0.0246 0.0902 -0.0984 0.1066 0.0574

Para comprobar que este resultado es correcto basta pre-multiplicar A por B; B*A ans = 1.0000 0.0000 0.0000 0.0000 1.0000 0.0000 0.0000 0.0000 1.0000 x=[10 20 30] % vector fila x= 10 20 30

y=[11; 12; 13] % vector columna y= 11 12 13

MATLAB tiene en cuenta la diferencia entre vectores fila y vectores columna. Por ejemplo, si se intenta sumar los vectores x e y se obtendr el siguiente mensaje de error: x+y ??? Error using ==> + Matrix dimensions must agree. Estas dificultades desaparecen si se suma x con el vector traspuesto de y: x+y' ans = 21 32 43

OPERACIONES CON MATRICES: MATLAB puede operar con matrices por medio de operadores y por medio de funciones. Se han visto ya los operadores suma (+), producto (*) y traspuesta ('), as como la funcin invertir inv(). Los operadores matriciales de MATLAB son los siguientes:

Los operadores anteriores se pueden aplicar tambin de modo mixto, es decir con un operando escalar y otro matricial. En este caso la operacin con el escalar se aplica a cada uno de los elementos de la matriz. Considrese el siguiente ejemplo: A=[1 2; 3 4] A= 12 34 A*2 ans = 24 68 A-4 ans = -3 -2 -1 0

En MATLAB existe tambin la posibilidad de aplicar elemento a elemento los operadores matriciales (*, ^, \ y /). Para ello basta precederlos por un punto (.). Por ejemplo: [1 2 3 4]^2 ??? Error using ==> ^ Matrix must be square. [1 2 3 4].^2 ans = 1 4 9 16 [1 2 3 4]*[1 -1 1 -1] ??? Error using ==> * Inner matrix dimensions must agree. [1 2 3 4].*[1 -1 1 -1] ans = 1 -2 3 -4

rand(n,m) - matriz n*m de entradas aleatorias entre 0 y uno. eye(n) - matriz identidad n*n. zeros(n,m) - matriz cero de tamao n*m. ones(n,m) - matriz n*m con todas las entradas uno. Combinando estas instrucciones podemos generar matrices bastante complicadas. Por ejemplo, la instruccin
E=[eye(2),ones(2,3);zeros(2),[1:3;3:-1:1]] genera la siguiente matris

La instruccin round(x) redondea "x" al entero ms cercano a "x". Podemos combinar funciones en MATLAB. Por ejemplo, round(10*rand(4)) genera una matriz con entradas aleatorias entre 0 y 10.

Funciones de Matrices
MATLAB posee una gran cantidad de funciones matriciales. De las ms comunes tenemos:
min(A), max(A) - dan el mnimo y mximo respectivamente por columnas de A sum(A), prod(A) - producen la suma y producto respectivamente por columnas de A norm(A,p) - norma p de la matriz A donde p=1,2, inf eig(A) - vector cuyos componentes son los valores propios de A det(A) - el determinante de A inv(A) - la matriz inversa de A

Matrices especiales ones(2) Hace una matriz de unos, de 2 x 2.


zeros(5,4) rand(3) eye(4)
Hace una matriz de ceros, de 5 x 4

Hace una matriz de 3 x 3, Hace una matriz identidad de 4 x 4.

TIPOS DE DATOS Ya se ha dicho que MATLAB es un programa preparado para trabajar con vectores y matrices. Como caso particular tambin trabaja con variables escalares (matrices de dimensin 1). MATLAB trabaja siempre en doble precisin, es decir guardando cada dato en 8 bytes, con unas 15 cifras decimales exactas. Ya se ver ms adelante que tambin puede trabajar con cadenas de caracteres (strings) y, desde la versin 5.0, tambin con otros tipos de datos: Matrices de ms dos dimensiones, matrices dispersas, vectores y matrices de celdas, estructuras y clases y objetos.

NMEROS REALES DE DOBLE PRECISIN Los elementos constitutivos de vectores y matrices son nmeros reales almacenados en 8 bytes (53 bits para la mantisa y 11 para el exponente de 2; entre 15 y 16 cifras decimales equivalentes). Es importante saber cmo trabaja MATLAB con estos nmeros y los casos especiales que presentan. MATLAB mantiene una forma especial para los nmeros muy grandes (ms grandes que los que es capaz de representar), que son considerados como infinito. Por ejemplo, obsrvese cmo responde el programa al ejecutar el siguiente comando: 1.0/0.0 Warning: Divide by zero ans = Inf

MATLAB tiene tambin una representacin especial para los resultados que no estn definidos como nmeros. Por ejemplo, ejectense los siguientes comandos y obsrvense las respuestas obtenidas: 0/0 Warning: Divide by zero ans = NaN inf/inf ans = NaN
En ambos casos la respuesta es NaN, que es la abreviatura de Not a Number.

NMEROS COMPLEJOS: FUNCIN COMPLEX


En muchos clculos matriciales los datos y/o los resultados no son reales sino complejos, con parte real y parte imaginaria. MATLAB trabaja sin ninguna dificultad con nmeros complejos. Para ver como se representan por defecto los nmeros complejos, ejectense los siguientes comandos:

a=sqrt(-4) a= 0 + 2.0000i 3 + 4j ans = 3.0000 + 4.0000i

A = [1+2i 2+3i; -1+i 2-3i] A= 1.0000 + 2.0000i 2.0000 + 3.0000i -1.0000 + 1.0000i 2.0000 - 3.0000i A = [1 2; -1 2] + [2 3; 1 -3]*I % En este caso el * es necesario A= 1.0000 + 2.0000i 2.0000 + 3.0000i -1.0000 + 1.0000i 2.0000 - 3.0000i

MATLAB dispone asimismo de la funcin complex, que crea un nmero complejo a partir de dos argumentos que representan la parte real e imaginaria, como en el ejemplo siguiente: complex(1,2) ans = 1.0000 + 2.0000i Es importante advertir que el operador de matriz traspuesta ('), aplicado a matrices complejas, produce la matriz conjugada y traspuesta. Existe una funcin que permite hallar simplemente la matriz conjugada (conj()) y el operador punto y apstrofo (.') que calcula simplemente la matriz traspuesta.

CADENAS DE CARACTERES
MATLAB puede definir variables que contengan cadenas de caracteres. En MATLAB las cadenas de texto van entre apstrofos o comillas simples

s = 'cadena de caracteres
MATLAB distingue entre maysculas y minsculas en los nombres de variables. Los nombres de variables deben empezar siempre por una letra y pueden constar de hasta 31 letras y nmeros. El carcter guin bajo (_) se considera como una letra.

FUNCIONES MATEMTICAS ELEMENTALES QUE OPERAN DE MODO ESCALAR Estas funciones, que comprenden las funciones matemticas trascendentales y otras funciones bsicas, actan sobre cada elemento de la matriz como si se tratase de un escalar. Se aplican de la misma forma a escalares, vectores y matrices. Algunas de las funciones de este grupo son las siguientes:

. FUNCIONES QUE ACTAN SOBRE VECTORES Las siguientes funciones actan sobre vectores (no sobre matrices ni sobre escalares)

FUNCIONES PARA CLCULOS CON POLINOMIOS

4 2 X -8X +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 (funcin polyval()) y calcular las races (funcin roots()): pol=[1 0 -8 6 -10] pol = 1 0 -8 6 -10 roots(pol) ans = -3.2800 2.6748 0.3026 + 1.0238i 0.3026 - 1.0238i polyval(pol,1) ans = -11

Para calcular producto de polinomios MATLAB utiliza una funcin llamada conv() (de producto de convolucin). En el siguiente ejemplo se va a ver cmo se multiplica un polinomio de segundo grado por otro de tercer grado: pol1=[1 -2 4] pol1 = 1 -2 4 pol2=[1 0 3 -4] pol2 = 1 0 3 -4 pol3=conv(pol1,pol2) pol3 = 1 -2 7 -10 20 -16
Para dividir polinomios existe otra funcin llamada deconv().

GRAFICAS MATLAB provee excelentes funciones para grficas en dos y tres dimensiones. Veamos un par de ejemplos sencillos. Suponga que queremos trazar la grfica de la funcin

Esto lo podemos lograr con las instrucciones: x=-5:.1:5; y=x.^2.*exp(-x.^2); plot(x,y)

Supongamos ahora que queremos dibujar la superficie: Esto lo hacemos con la secuencia de instrucciones:
x=-5:.4:5; y=x; [X,Y]=meshgrid(x,y); Z=X.^2.*exp(-Y.^2); surf(X,Y,Z)

MATLAB dispone de cuatro 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:

REALICE LA SUMA DE LAS SIGUIENTES MATRICES Y CALCULE EL DETERMINANTE DE LA MATRIZ RESULTANTE. A= 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1

B= 4 1 2 9

13 8 5 15

9 3 7 10

11 6 4 12

introducimos las matrices como lo sealamos al inicio del curso de la siguiente forma: >> A=[16 2 3 13; 5 11 10 8; 9 7 6 12; 4 14 15 1]; >> B=[4 13 9 11; 1 8 3 6; 2 5 7 4; 9 15 10 12]; >> C=A+B

C= 20 6 11 13

15 12 24 19 13 14 12 13 16 29 25 13

>> det(C) ans = -14809

SOLUCIN DE SISTEMAS LINEALES


Considere el sistema lineal

3x1 2x2 + 5x3 = 2


2 x 1 + 3 x2 8 x 3 = 6 4 x1 + 9 x2 7 x3 = -1
Definimos la matriz de coeficientes y el lado derecho por las instrucciones

A=[3 -2 5; 2 3 -8; 4 9 -7]; B=[2 6 -1]';

>> flops(0) >> x=A\b x= 1.3105 -1.4429 -0.9635

RESOLUCION DE ECUACIONES DE CLCULO PARA INGENIERIA.


Dado que los problemas se resuelven utilizando matemticas simblicas para Matlab se deben definir previamente cuales de las variables se deben trabajar como simblicas. syms s a w t T Hallar L{e-at}

introducimos el comando y obtenemos la respuesta laplace(exp(-a*t)) ans = 1/(s+a)

Hallar L{coswt} laplace(cos(w*t)) ans = s/(s^2+w^2)

Determinar la solucin de la ecuacin diferencial. df + 2f = 0 con f(0) = 6 dt dsolve('Df+2*f=0','f(0)=6') ans = 6*exp(-2*t)

Encontrar el valor inicial y el valor final de: f(t) = 3e-2t + 6e-t teorema del valor final a=laplace((3*exp(-2*t))+(6*exp(-t))) a= 3/(s+2)+6/(s-1) b=s c=a*b c= (3/(s+2)+6/(s-1))*s limit(c,0) ans = 0 teorema del valor inicial c= (3/(s+2)+6/(s-1))*s limit(c,inf) ans = 9

Conseguir la transformada inversa de laplace de:

ilaplace(1/(s+a)^2) ans = t*exp(-a*t)


Conseguir la transformada inversa de laplace de:

3s 5 Fs 2 s 4s 3
ilaplace((3*s+5)/(s^2+4*s+3)) ans = 2*exp(-3*t)+exp(-t)

ANLISIS Y CONTROL DE SISTEMAS USANDO MATLAB


En lo que sigue, se va a realizar una introduccin a los comandos de matlab relacionados con la teora de control de sistemas. Casi todas las funciones que se describen pertenecen al Control System Toolbox. Las funciones principales se van a explicar sobre ejemplos demostrativos, con el fin de que su uso y comprensin sean lo mas sencillos posible.

Tratamiento mediante funciones de transferencia. (Sistemas continuos)


Para el ejemplo se va a partir de una descripcin de una planta en forma de funcin de transferencia. En matlab las funciones de transferencia se introducen dando el par de polinomios numerador denominador.

num = [.2 .3 1]; den1 = [1 .4 1]; den2 = [1 .5]; den = conv(den1,den2)

Para ver los polos (o los ceros) de la funcin de transferencia, podemos usar: roots(den) y roots(num). Una forma mas completa de convertir una funcin de transferencia dada por dos polinomios numerador y denominador mediante el comando tf2zp: [ceros ,polos ,gan] = tf2zp (num,den); que devuelve un vector conteniendo los ceros de la funcin de transferencia, un vector conteniendo los polos, y un escalar correspondiente a la ganancia esttica. La funcin complementaria a sta tambin existe: [num,den] = zp2tf (ceros,polos,gan);

DOMINIO TEMPORAL
Funcin step
t = [0:.3:15]; y = step(num,den,t); plot (t,y); title (Respuesta a un escaln unitario); xlabel (tiempo(seg)); grid;

DOMINIO TEMPORAL
Funcin impulse
impulse (num,den,t)

La respuesta del sistema a cualquier tipo de entrada tambin puede obtenerse. Para ello es necesario tener la seal de entrada en un vector u, que lgicamente deber tener la misma dimensin que el vector de tiempos.

DOMINIO TEMPORAL
En sistemas multivariables, en vez de un vector de entradas tendremos una matriz. A estos efectos se usa la funcin lsim. Un ejemplo caracterstico es la respuesta a una entrada en rampa: ramp = t; y = lsim (num,den,ramp,t); plot (t,y,t,ramp); title (Respuesta a una rampa); xlabel (tiempo(seg));

DOMINIO TEMPORAL
Otro ejemplo caracterstico es la respuesta a un ruido uniforme aleatorio. Es importante darse cuenta del filtrado que se produce en la seal cuando pasa por el sistema (hace de filtro paso bajas). noise = rand (size(t)); y = lsim (num,den,noise,t); plot (t,y,t,noise); title (Respuesta a un ruido aleatorio); xlabel (tiempo(seg));

DOMINIO FRECUENCIAL
La respuesta en frecuencia de los sistemas se puede obtener usando las funciones bode, nyquist y nichols.

Funcin bode
A continuacin se presentan ejemplos de las tres posibles sintaxis de la funcin bode:
1.- bode(num,den) 2.- [mag,phase,w] = bode (num,den) 3.- [mag,phase] = bode (num,den,w)

DOMINIO FRECUENCIAL
Funcin nyquist
El comando nyquist tiene la misma sintaxis: nyquist (num,den,w); [re,im] = nyquist (num,den,w);

DOMINIO FRECUENCIAL
Funcin nichols
nichols (num,den,w), ngrid; [mag,phase] = nichols (num,den,w);

MRGENES DE ESTABILIDAD
Como es bien sabido en la teora clsica del control, los mrgenes de estabilidad son el margen de fase y el margen de ganancia. Estos mrgenes se calculan usando el comando margin. margin (num,den); [mg,mf,wmg,wmf] = margin (num,den);

EFECTOS DE LOS RETARDOS


Los retardos existen en numerosas aplicaciones de control automtico. En sistemas lineales continuos invariantes en el tiempo, el retardo viene representado por esT . La forma ms sencilla de manipular los retardos en matlab es en el dominio de la frecuencia. Por ejemplo:

num = [0.2 0.3 1]; den = [1 0.9 1.2 0.5]; T = 1; % Tiempo de retardo puro w = logspace (-2,1,100); [mag,fase] = bode (num,den,w); faseDelay = fase - (T*w*180/pi); subplot(211); semilogx (w, 20*log10(mag)); grid; subplot(212); semilogx (w, [fase, faseDelay]); grid;

COMANDOS RELACIONADOS CON OPERACIONES DE BLOQUES


Existen una serie de comandos relacionados con las operaciones tpicas en diagramas de bloques: [N12,D12] = series (N1,D1,N2,D2): Devuelve la resultante de colocar en serie dos Funciones de transferencia

[N12,D12] = series (N1,D1,N2,D2): Devuelve la resultante de colocar en serie dos Funciones de transferencia

COMANDOS RELACIONADOS CON OPERACIONES DE BLOQUES


[Nbc,Dbc] = feedback (N1,D1,N2,D2,-1): A partir de un sistema en bucle abierto, dado por el numerador y denominador N1,D1, proporciona el correspondiente en bucle cerrado, considerando que en la cadena de realimentacin hay otra funcin de transferencia, dada por N2, D2

[Nbc,Dbc] = cloop (N1,D1,-1): En el caso en que se pretenda obtener la funcin de transferencia en bucle cerrado con realimentacin unitaria, puede emplearse este comando mas compacto, en el que se evita tener que especificar una segunda funcin de transferencia.

LUGAR DE LAS RACES


El anlisis mediante el lugar de las races se puede obtener definiendo un vector de ganancias deseadas (que es el parmetro usado habitualmente para ver la evolucin de los polos en bucle cerrado). L sintaxes ES: r = rlocus (N,D,K); rlocus (N,D);

[K,polos] = rlocfind (num,den)

LUGAR DE LAS RACES

Otra utilidad para ver la sobre oscilacin que correspondera a un par de polos complejos conjugados situados en el lugar, seria dibujar los lugares geomtricos de factor de amortiguamiento () y frecuencia natural (n) constantes, mediante el comando sgrid.

ESTUDIO TEMPORAL Y FRECUENCIAL DE SISTEMAS DE PRIMER Y SEGUNDO ORDEN


Sistemas de primer orden
La representacin en forma de funcin de transferencia viene dada por:

G(s)= K 1+tS
que en notacin matlab se introduce: K = 1; tau = 1; num = K; den = [tau 1]; La respuesta a un escaln unitario es: t = [0:0.1:10]; ye = step(num,den,t); plot(t,ye); title (Respuesta a un escaln unitario); xlabel (tiempo(seg)); grid;

Sistemas de segundo orden


La representacin normal de un sistema de segundo orden en forma de funcin de transferencia viene dada por:

donde: K: ganancia esttica del sistema. Se va a suponer en el anlisis siguiente, sin perdida de generalidad, que K = 1. : Coeficiente de amortiguamiento. wn: Frecuencia natural no amortiguada del sistema.

Caso 1:
Si > 1 2 races reales distintas (sobre amortiguado).

t = [0:0.2:20]; wn = 1; d = 2; num = [wn^2]; den = [1,2*d*wn,wn^2]; ye = step (num,den,t); plot (t,ye); title (Respuesta a un escaln unitario); xlabel (tiempo(seg)); grid;

Caso 2:
Si = 1 2 races reales iguales sistema crticamente amortiguado.

d = 1; den = [1,2*d*wn,wn^2]; ye = step (num,den,t); plot (t,ye); title (Respuesta a un escaln unitario); xlabel (tiempo(seg)); grid;

Caso 4:
Si = 0 Respuesta oscilatoria. Sistema crticamente estable. Races en eje imaginario. d = 0; den = [1,2*d*wn,wn^2]; ye = step (num,den,t); plot (t,ye); title (Respuesta a un escalon unitario); xlabel (tiempo(seg)); grid;

Caso 5: Sistema inestable


d = -0.1; den = [1,2*d*wn,wn^2]; ye = step (num,den,t); plot(t,ye); title (Respuesta a un escalon unitario); xlabel (tiempo(seg)); grid;

Caso 3: Dos raises complejas conjugadas


d = 0.5; den = [1,2*d*wn,wn^2]; ye = step (num,den,t); plot (t,ye); title (Respuesta a un escaln unitario); xlabel (tiempo(seg)); grid;

Se puede tambin analizar para este tercer caso de dos races complejas el efecto de modificar el factor de amortiguamiento. Se muestra para valores = {0.1, 0.2, ...0.9} t = [0:0.2:20]; wn = 1; vectDelta = [0.1:0.1:0.9]; num = wn^2; Y = []; for ind = 1:length(vectDelta) d = vectDelta(ind); den = [1,2*d*wn,wn^2]; y = step (num,den,t); Y = [Y, y]; end plot (t,Y); title (Respuesta a un escaln unitario); xlabel (tiempo(seg)); grid;

Se mantiene el valor de = 0.2 para el siguiente anlisis: d = 0.2; den = [1,2*d*wn,wn^2]; ye = step (num,den,t); La salida del sistema viene dada por la ecuacin:

Los parmetros caractersticos del transitorio vienen dados por:

Anlisis del efecto de un cero en la respuesta temporal de un sistema de segundo orden


Los ceros afectan al valor de la ganancia y a la forma de respuesta transitoria, pero no a la estabilidad. Supongamos la funcin de transferencia siguiente:

Funcin rltool
Este comando facilita el estudio de la funcin de transferencia de una planta y esta disponibles en versiones de Matlab superiores al 5.3.

RESUMEN DE LOS COMANDOS MAS IMPORTANTES DEL CONTROL SYSTEM TOOLBOX

RESUMEN DE LOS COMANDOS MAS IMPORTANTES DEL CONTROL SYSTEM TOOLBOX

RESUMEN DE LOS COMANDOS MAS IMPORTANTES DEL CONTROL SYSTEM TOOLBOX

INTRODUCCIN AL SIMULINK
Simulink es una herramienta para la simulacin de sistemas dinmicos. Esto es decir que resuelve ecuaciones diferenciales ordinarias usando mtodos numricos (Euler, Runge Kuta, etc.). Los sistemas dinmicos (representados por ecuaciones diferenciales) se deben introducir a este programa por medio de su descripcin en diagramas de bloques. La descripcin por diagrama en bloques usa lneas para representar variables y bloques para representar funciones. Las lneas son usadas para interconectar los bloques entre s.

Librera de bloques.
Para la elaboracin del diagrama de bloques, se dispone de una librera de bloques. sta librera se invocar ejecutando el siguiente comando: simulink En la siguiente figura se puede ver la ventana que se abre en consecuencia.

AGREGAR UN BLOQUE AL REA DE TRABAJO

UNIR BLOQUES CON UNA LINEA

BLOQUES MS COMUNES

BLOQUES MS COMUNES

BLOQUES MS COMUNES

que puede ser escrita en forma integral:

EJEMPLO ELEMENTAL
Supngase que desee ver una curva senoidal y su integral en el tiempo. Esto responde a la siguiente ecuacin diferencial:

que puede ser escrita en forma integral:

PARMETROS DE SIMULACIN

PID. DESCRIPCIN Y REGLAS HEURSTICAS DE SINTONIZACIN


Para comenzar abordaremos el problema del control de un sistema simple de primer orden con retardo, definido por la funcin de transferencia.

donde k representa la ganancia esttica del sistema, t es su constante de tiempo y L es el retardo del mismo. Comenzaremos viendo la respuesta de este sistema a lazo abierto ante una entrada en escaln, y para ello construiremos el siguiente sistema en SIMULINK

CONTROLADOR PID

CONTROL A LAZO CERRADO.

Quien estudia aprende.... Pero el que ensea aprende doble.

Annimo......
Preguntas ??????????

También podría gustarte