Upload
henry
View
215
Download
1
Embed Size (px)
DESCRIPTION
verano universidad nacional del callao
Citation preview
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
SIMULACIÓN, CONTROL Y AUTOMATIZACIÓN DE PROCESOSGUIA DE LABORATORIO Nº 1
2015-V
TEMA: HERRAMIENTAS BASICAS DEL MATLAB
I. COMPETENCIA:
Identificar el entorno de trabajo y las herramientas que nos proporciona el Matlab para su aplicación en
la teoría del control automático de Procesos Industriales.
II. PROCEDIMIENTO:
Matlab es un programa interactivo útil en computación numérica y visualización de datos; los ingenieros
en control lo usan extensivamente en análisis y diseño. Están disponibles muchas diferentes "toolboxs"
las cuales extienden aún más las funciones básicas del Matlab a diferentes áreas; en estos tutoriales
haremos uso extensivo de la toolbox de control de sistemas (Control Systems Toolbox).
Vectores
Comencemos creando algo simple, como un vector. Entre cada elemento del vector (separado por un
espacio) y entre corchetes, y asígnelo a una variable. Por ejemplo, para crear el vector “a”, entre en la
ventana de comandos de Matlab:
>> a = [1 2 3 4 5 6 9 8 7]
Matlab devolverá:
a = 1 2 3 4 5 6 9 8 7
Si ahora se quiere crear un vector con elementos desde 0 a 20 a incrementos de 2 (esto se usa mucho en
la creación de vectores tiempo):
>> t = 0:2:20
t = 0 2 4 6 8 10 12 14 16 18 20
Manipular vectores es tan fácil como crearlos. Primero suponga que hay que sumar 2, a cada elemento
en el vector 'a'. La ecuación que lo logra se ve:
>>b = a + 2
b = 3 4 5 6 7 8 11 10 9
Ahora suponga que quiere sumar dos vectores. Si los mismos tienen igual longitud, es sencillo.
Simplemente súmelos como se muestra abajo
>> c = a + b
c = 4 6 8 10 12 14 20 18 16
La resta de vectores de la misma longitud trabaja exactamente de la misma manera.
Funciones
Matlab incluye muchas funciones estándar. Cada función es un bloque de código que lleva a cabo una
tarea específica. Matlab contiene todas las funciones estándares como sin, cos, log, exp, sqrt, así como
tantas otras. También incorpora las constantes comúnmente usadas como “pi”, e “i” o “j” para la raíz
cuadrada de -1.
>> Sin (pi/4) ans = 0.7071
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
Plot
Es muy sencillo crear figuras en Matlab. Suponga que necesite plotear una onda senoidal como función
del tiempo. Primero defina un vector tiempo (el punto y coma luego de cada sentencia obliga a Matlab a
no mostrar los resultados) y luego calcule el valor del seno en cada momento.
>> t = 0:0.25:7;
>> y = sin (t);
>> plot(t,y)
La figura contiene aproximadamente un período de la onda senoidal. Este tipo de figuras es muy sencillo
en Matlab, y el comando “plot” tiene muchas opciones agregadas.
MATLAB puede generar gráficos planos y gráficos de malla de superficies tridimensionales.
Para el manejo de gráficos planos, la instrucción “plot” crea gráficos en el plano XY; si x e y son vectores
de la misma longitud, la instrucción plot(x, y) accede a la pantalla gráfica y realiza un gráfico plano de los
elementos de x versus los elementos de y.
Por ejemplo, se puede dibujar la gráfica de la función y =sen (2.x), sobre el intervalo [-4,4] con las
siguientes instrucciones:
>>t = - 4: 0.01: 4;
>>y = sin (t). ^2;
>> plot(t,y)
Las instrucciones pueden escribirse en forma horizontal separadas por el operador “;” como se ha hecho
en este caso ó se las puede ejecutar una por una.
En el ejemplo anterior, cabe notar que t es una partición del dominio con paso 0.01 mientras que y es un
vector (la función sin es vectorial) debido a que toma los valores del seno para todos los valores de dicha
partición. De ahí que se utiliza el operador con arreglos (. ^ ) .
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
Diferentes funciones pueden dibujarse sobre una misma figura; para ello basta definir cada función con
nombre diferente y ejecutar la instrucción; Ejemplo plot (t, y1, t, y2)
Puede ponerse título, comentarios en los ejes o en cualquier otra parte con los siguientes comandos que
tienen una cadena como argumento:
title (‘título del gráfico’)
xlabel (‘comentario en el eje x’)
ylabel (‘comentario en el eje y’)
gtext texto posicionado interactivamente
text texto posicionado mediante coordenadas
grid cuadriculado en el gráfico
subplot permite dividir la pantalla para visualizar varios gráficos a la vez
Polinomios
En Matlab, un polinomio se representa por un vector. Para crear un polinomio, simplemente ingrese cada
coeficiente del mismo, en un vector en orden descendente (no omita el 0).
Por ejemplo, quisiera entrar el siguiente polinomio:
Para hacerlo en Matlab, nada más entre el vector
>> x = [1 3 -15 -2 9]
x = 1 3 -15 -2 9
Matlab puede interpretar un vector de longitud n+1 como un polinomio de grado n. Por lo tanto, si el
polinomio no tiene algunos coeficientes, es necesario que entre los ceros apropiados en el vector. Por
ejemplo,
Se representaría en Matlab como:
y = [1 0 0 0 1]
Puede hallar el valor de un polinomio con la función polyval. Por ejemplo, para hallar el valor
en s=2 en el polinomio de arriba,
>> z = polyval ([1 0 0 0 1] ,2)
z = 17
Puede también sacar las raíces de un polinomio. Esto es muy útil cuando se tiene un polinomio
de alto grado como
Hallar las raíces es tan sencillo como entrar el siguiente comando;
>> roots ([1 3 -15 -2 9])
ans = -5.5745 2.5836 -0.7951 0.7860
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
Digamos que quiere multiplicar dos polinomios. El producto de dos polinomios se halla tomando la
convolución de sus coeficientes. La función conv del Matlab lo hará.
>> x = [1 2];
>> y = [1 4 8];
>> z = conv(x, y)
z = 1 6 16 16
La división de dos polinomios es también sencilla. La función deconv devuelve tanto el resultado cuanto
el resto. Dividamos z por y, y veamos si se obtiene x.
>> [xx, R] = deconv (z, y)
xx = 1 2
R = 0 0 0 0
Como puede ver, este es el mismo polinomio/vector x de arriba. Si y no es raíz de z, el vector R resto
hubiese sido distinto de cero.
Matrices
Definir matrices en Matlab es lo mismo que entrar un vector, excepto que cada renglón de elementos
debe separarse por un punto y coma (;). Ingrese:
>> B = [1 2 3 4; 5 6 7 8; 9 10 11 12]
B =1 2 3 45 6 7 89 10 11 12
>> B = [1 2 3 4 5 6 7 8 9 10 11 12]
B = 1 2 3 4 5 6 7 8 9 10 11 12
En Matlab las matrices pueden manipularse de distintas maneras. Una de ellas puede encontrar la
transpuesta de una matriz de reales con la tecla apóstrofo:
C = B'
C =12
...12
Debe notarse que si B hubiese sido complejo, Matlab hubiese devuelto la transpuesta conjugada. Para
obtener siempre la transpuesta sólo, use.' (Punto apostrofo, los dos comandos son iguales si la matriz no
es compleja).
Ahora puede multiplicar dos matrices B y C. Recuerde que el orden tiene importancia en el producto de
matrices.
D = B * C,
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
D = 650 (la matriz de 1x1)
D = C * B,
D = la matriz de 12x12
Otra opción en la manipulación de matrices es que se puede multiplicar los elementos correspondientes
de dos matrices utilizando el operador.* (punto-por, para hacer esto las matrices deben tener la misma
dimensión).
>> E = [1 2; 3 4] >> F = [2 3; 4 5] >> G = E.* F
E = F = G =1 2 2 3 2 63 4 4 5 12 20
Si se tiene una matriz cuadrada como la matriz E, puede efectuarse la potencia de E las veces que se
quiera, lo que equivale a multiplicarla por sí misma n veces. E^3
ans =37 5481 118
Y si se quiere elevar al cubo cada elemento de la matriz basta con: E. ^3 ans =
1 827 64
Para calcular la inversa de la matriz E:
X = inv (E)
X =-2.0000 1.00001.5000 -0.5000
Aún más, hay una función que encuentra los coeficientes del polinomio característico de una matriz. La
función "poly" crea un vector con los coeficientes del polinomio característico en orden descendente.
>> p = poly (E)
>> p = 1.0000 -5.0000 -2.0000
Recuerde que los autovalores de una matriz son los mismos que las raíces de su polinomio característico:
>> Roots (p)
ans = 5.3723 -0.3723
APLICACIONES
1. Considere la siguiente matriz:
Indique el resultado de las siguientes operaciones y que significa cada una de ellas (utilice Matlab):
a. A (:,1)
b. A (2, :)
c. A (:,2:3)
d. A (:,1:2:3)
2.Grafique las siguientes funciones.
Los vectores deberían tener al menos 200 puntos para su graficación.
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
3.Utilizando el comando “subplot”, grafique las funciones del numeral anterior
4.Graficar la función seno y considerar el eje tiempo de 0 a 7, con intervalos de 0.25.
5.Interpretar la gráfica siguiente:
t= [0: pi/20: pi];
y=cos (t);
plot(t,y);
grid
SIMULACION, CONTROL Y AUTOMATIZACIÓN INDUSTRIALGUIA DE LABORATORIO Nº 2
TEMA: MATLAB APLICADO AL CONTROL AUTOMÁTICO
I. COMPETENCIA:
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
Desarrollar criterios para el uso correcto de la librería de bloques del SIMULINK de Matlab para el
modelado del los sistemas de control de procesos automáticos.
II. CONCEPTOS PREVIOS:
2.1 El uso del Simulink de Matlab
• Herramienta gráfica incorporada a Matlab, que permite de forma más fácil definir el modelo de
sistemas de muy diferentes tipos (no solo LTI) y aplicaciones.
• Los elementos de trabajo de un modelo de Simulink son objetos o iconos, agrupados en librerías que
proporciona el paquete integrado de Matlab para las distintas aplicaciones.
• El fichero asociado a cada modelo es un *.MDL, que puede ser abierto como un fichero *.M
cualquiera (tiene una estructura especial pero el funcionamiento es el mismo).
• Se puede llamar a la librería de bloques de Simulink (ventana Simulink) desde la ventana de
comandos tecleando “Simulink”, o abrir directamente un fichero *.MDL
2.2 Pasos a seguir para trabajar con Simulink:
Definición gráfica del modelo a simular con las librerías de Matlab para Simulink
Simulación del modelo y análisis de resultados, que se pueden mostrar directamente en Simulink o a través de
Matlab enviando los resultados al entorno de trabajo.
2.3 Librerías de Simulink
Posee librerías distribuidas en función de la aplicación. Tiene una librería básica, llamada Simulink,
con el siguiente contenido:
Sources (fuentes de señal)
Sinks (sumideros o almacén de resultados)
Continuous
Discrete
No linear
Signals&Systems (buses, multiplexores y demultiplexores, puertos para enviar señales de un modelo
a otro, etc.)
Math (trigonométricas, aritméticas, etc.)
Funciones y tablas (llamadas a funciones de Matlab o de usuario y tablas de look-up)
2.4 Objetos Básicos de Simulink
• Fuentes: Emisores de información (Generadores de señales, señal rampa, impulso)
Procesos: Bloques de E/S de todos los tipos antes mencionados
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
Destinos: Receptores de información
Conexiones: Son unidireccionales. Hipotéticos cables.
2.5 Creación de un Modelo Simulink
Para generar un diagrama de bloques, una vez abierto un fichero *.MDL nuevo y con ventana de
Simulink, se sigue el siguiente proceso:
1. Se abre la librería donde se encuentra el elemento necesario.
2. Para copiar un objeto de la sesión de trabajo, basta con seleccionar el objeto y arrastrarlo.
3. Para hacer una conexión entre una salida y una entrada, se posiciona el cursor sobre la salida de
la fuente o la entrada, se pulsa el botón izquierdo del ratón y sin soltarlo se desplaza el cursor hasta
el otro punto que se desea unir.
4. Haciendo doble click sobre los elementos copiados se modifican los parámetros de éste.
III. PROCEDIMIENTO:
Aplicación 1:
Realizar el diagrama de bloques de la figura:
Visualizar el resultado de la simulación del modelo del ejemplo anterior.
Solución:
1. Se entra en Simulink y se abre una ventana
nueva.
2. Se abre la librería Continuos y se copian el
bloque sumador y F.T.
3. Se abre la librería Sources y se copia el
bloque escalón (Step input)
4. Se abre la librería Sinks y se copia el bloque
Scope
5. Se unen mediante el ratón los bloques.
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA
6. Se editan los bloques para que aparezcan como en la figura (en el bloque “Trasnfer Fcn” Numerator y
Denominator han de contener los coeficientes del polinomio correspondiente en potencias decrecientes
de ‘s’).
En el ejemplo:
Numerator: [1 2]
Denominator: [1 2 5]
Aplicación 2:
Realizar el diagrama de bloques de la figura:
Visualizar el resultado de la simulación del modelo del ejemplo anterior.
Aplicación 3:
Realizar el siguiente diagrama de bloques y representar desde MATLAB la señal de salida
Reemplazando al generador de señal, utilice un señal tipo escalón unitario y una señal tipo rampa.
Visualizar el resultado de la simulación del modelo del ejemplo anterior.
¿Para qué sirve el multiplexor?
Aplicación 4:
Realizar el siguiente diagrama de bloques y representar desde MATLAB la señal de salida.
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA QUÍMICA