MAESTRÍA EN INGENIERÍA Y GESTIÓN AMBIENTAL

1 MAESTRÍA EN INGENIERÍA Y GESTIÓN AMBIENTALCURSO: SIMULA...
Author: Priscila Damian
0 downloads 2 Views

1 MAESTRÍA EN INGENIERÍA Y GESTIÓN AMBIENTALCURSO: SIMULACIÓN DE SISTEMAS AMBIENTALES PROFESOR: M.I. Jorge Antonio Polanía P.

2 CONTENIDO INTRODUCCIÓN MÓDULO 1: TEORÍA GENERAL DE SISTEMASMÓDULO 2: PROCESOS CON MATLAB MÓDULO 3: PROCESOS CON SIMULINK MÓDULO 4: APLICACIONES

3 MÓDULO 2: PROCESOS CON MATLABPOLINOMIOS GRAFICACIÓN CÁLCULO NUMÉRICO DINÁMICA DE SISTEMAS

4

5

6 1. POLINOMIOS La integración de las Tecnologías de Información y comunicación (TIC) en las asignaturas de un currículo puede realizarse de varias formas. Una de ellas es el uso de las simulaciones. Estas se han convertido en una excelente herramienta para mejorar la compresión y el aprendizaje en áreas como las matemáticas, física, estadística, finanzas, etc. La simulación permite probar, analizar y descubrir cómo funciona o cómo se comporta un fenómeno. Matlab es un programa interactivo de cálculo numérico y de visualización de datos basado en software de matrices, en un entorno de desarrollo totalmente integrado y orientado a proyectos que requieren un elevado cálculo numérico y visualización gráfica. En las universidades Matlab se ha convertido en una herramienta básica tanto para estudiantes, como para docentes e investigadores por su amplio abanico de programas especializados llamados Toolboxes que cubren casi todas las áreas del conocimiento. Dispone de un programa SIMULINK que es un entorno gráfico interactivo con el que se puede analizar, modelar y simular sistemas.

7 Una variable se crea por asignación. Los operadores básicos son:1.1 VARIABLES Y FUNCIONES OPERADORES Una variable se crea por asignación. Los operadores básicos son: x +y Suma x – y Diferencia x * y Producto x / y División x ^y Potencia Ejemplos: En la ventana de comandos de Matlab, ejecutar:

8 Un vector fila de n elementos se puede representar de dos formas:VECTORES Un vector fila de n elementos se puede representar de dos formas: V = [v1,v2,v3,…..vn] % con coma entre ellos, o V = [v1 v2 v3 …..vn] % con espacios entre ellos Ejemplo: Vector = [ / ] Un vector se puede representar sin necesidad de explicitar todos los elementos,

9 Vector = linespace[a,b,n]EXPRESIÓN MATLAB SIGNIFICADO Vector = [a : b] a y b son el primero y último elemento. Los elementos intermedios se diferencian en una unidad Vector = [a : s : b] a y b son el primero y último elemento. Los elementos intermedios se diferencian en la cantidad s Vector = linespace[a,b,n] a y b son el primero y último elemento. Hay n elementos uniformemente espaciados entre sí Vector = logspace[a,b,n] a y b son el primero y último elemento. Hay n elementos logarítmicamente espaciados entre sí

10 Ejemplos: >>Vector1 = [5:5:30] % elementos de 5 a 30 en pasos de 5 Vector1 = >>Vector2 = [5:10] Vector2 = % elementos de 5 a 10 en pasos de 1 (por defecto) Un vector columna se representa con sus elementos separados por punto y coma. Ejemplo: >>Vector = [2; 3; 2.5; 4.5; 8] Vector = 2 3 2.5 4.5 8

11 Algunas definiciones de variables matriciales:1.2 MATRICES Las matrices se representan en Matlab introduciendo entre corchetes los vectores fila separados por punto y coma. Ejemplo: >>A = [1 3 5; 4 7 9; ] A = Algunas definiciones de variables matriciales:

12 A(m,n) B = A’ A(a:b,c:d) A(:,c:d) A(a:b,:) size(A)Define el elemento (m,n) de la matriz A B = A’ Define la transpuesta de A A(a:b,c:d) Define una submatriz formada por las filas que hay entre la a-ésima y la b-ésima y por las columnas que hay entre la c-ésima y la d-ésima A(:,c:d) Submatriz formada por las filas de A y las columnas que hay entre la c-ésima y d-ésima A(a:b,:) Submatriz formada por las columnas de A y las filas que hay entre la a-ésima y b-ésima size(A) Devuelve el tamño u orden de la matriz A

13 >> eye(3) >> C=B(:,2:3) ans = C = 1 0 0 4 4 0 1 0 7 2B = >> eye(3) ans = >> C=B(:,2:3) C = >> size(D) ans = >> D = B(1:2,:) D =

14 FUNCIONES TRIGONOMÉTRICAS FUNCIONES HIPERBÓLICASDirectas Inversas sin(x) asin(x) cos(x) acos(x) tan(x) atan(x) csc(x) acsc(x) sec(x) asec(x) cot(x) acot(x) FUNCIONES HIPERBÓLICAS sinh(x) asinh(x) cosh(x) acosh(x) tanh(x) atanh(x) csch(x) acsch(x) sech(x) asech(x) coth(x) acoth(x)

15 FUNCIONES EXPONENCIALES Y LOGARÍTMICASexp(x) Función exponencial base e log10(x) Logaritmo decimal log(x) Logaritmo natural sqrt(x) Raíz cuadrada abs(x) Valor absoluto NÚMEROS COMPLEJOS abs(z) Módulo del complejo z angle(z) Argumento del complejo z conj(z) Conjugado del complejo z real(z) Parte real del complejo z imag(z) Parte imaginaria del complejo z factorial(n) n! = n(n-1)(n-2)(n-3)…

16 >> y = 2*sin(5*x) + 3*cos(2*x) y = 2.5000Ejemplos: Calcular las siguientes expresiones en Matlab a) para x = 2.5 >> x=2.5; >> y = exp(sqrt(x^2+2*x-5)) y =   b) y = 2sen(5x) + 3cos(2x) para x = 30º >> x = 30*pi/180; >> y = 2*sin(5*x) + 3*cos(2*x) y = 2.5000 c) Para x=1.5 >> x=1.5; >> y = log10(x + 5)^(1/3) + log(x^2) y = 1.7442

17 1.4 POLINOMIOS Los comandos usados por Matlab para trabajar con polinomios son: p = poly(r) Da los coeficientes del polinomio P cuyas raíces son el vector r y = polyval(p,x) Evalúa el polinomio p en el valor de x r = roots(c) Encuentra las raíces del polinomio c p = polyfit(x,y,n) Polinomio de orden n que ajusta los puntos (x,y) s = solve(‘ecuacion1’,’ecuacion2’) Resuelve las ecuaciones d = det(A) Calcula determinante de A

18 >> y = polyval(p,x) y = 4.0750Ejemplos: a) >> p=poly([ 2 3 4]) p = % El polinomio es x3 – 9x2 +26x – 24 Para x = 2.5 calcular y = x4 – 3x2 + 5x -2.8 >> x = 2.5; >> p = [ ]; >> y = polyval(p,x) y =   c) Encontrar las raíces de: x5 – 3x3 + x2 -5x + 2 >> c = [ ]; >> r = roots(c) r = 1.8905 i i 0.3960

19 f) Resolver el sistema de ecuaciones: 2x + 3y =5 x – 2y = -2 d) Calcular el polinomio interpolador de segundo orden que pasa por los puntos (-1,4), (0,2) y (1,6) >> x = [-1,0,1]; y = [4,2,6]; >> p = polyfit(x,y,2)  p = El polinomio interpolador que más se ajusta es 3x2 + x + 2 f) Resolver el sistema de ecuaciones: 2x + 3y =5 x – 2y = -2 >> [x,y] = solve('2*x + 3*y = 5','x - 2*y = -2') % x = 4/7, y = 9/7

20 g) Calcular el determinante de la matriz:>> A = [2 4 -1; ; ]; >> d = det(A) % d = -153

21 2. GRAFICACIÓN Matlab ofrece diversas formas de representación gráfica. COMANDO MATLAB DESCRIPCIÓN bar(y) Gráfica de barras relativo al vector y bar(x,y) Gráfica de barras al vector y; x define el eje x barh(….) Gráfica de barras horizontales bar(….;’color’) Color = r, g, y, c, m, k bar(y,’estilo’) Estilo=grouped (agrupado), stacked (anidado) bar3(y,…) Barras en tres dimensiones plot(x,y) Grafica y en función de x plot(x,y,’bo’) Grafica y en función de x on color y caracter

22 fplot(‘f’,[x1 x2],’y*’) Grafica función f entre x1 y x2 fplot(‘[f1,f2,..]’,[x1 x2]) Grafica las funciones en el intervalo dado tittle(‘texto’) Título de la gráfica xlabel(‘texto’), ylabel(‘texto’) Rótulos en el eje x y en el eje y grid Pone rejilla en la gráfica axis([x1 x2 y1 y2]) Define límite de los ejes legend(‘rotulo1’,’rotulo2’,….) Coloca legenda en la gráfica text(x,y,’texto’) Coloca texto en coordenadas (x,y) subplot(m,n,p) Subgráficas de m filas, n columnas

23 Ejemplos: a) >> y=[ ]; >> bar(y)

24 b) Gráfico de barras para la función 𝑦= 𝑒 𝑥 2 cuando x varía de -3 a 3 en pasos de 0.2>> x = -3:0.2:3; >> y = exp(-x.*x); >> bar(x,y)

25 c) barh(x,y)

26 d) Ejecutar >> bar(x,y,’g’)

27 y =[10 8 6; 2 5 8; 6 0 9; 5 8 7; 9 4 2] y = >> bar(y,'grouped')

28 >> bar(y,'stacked')

29 >> bar3(y,'stacked')

30 f) Ejecutar >> x = 0:0. 2:20; >> y = sin(x). exp(-0. 2f) Ejecutar >> x = 0:0.2:20; >> y = sin(x).*exp(-0.2*x); >> plot(x,y)

31 >> plot(x,y,’r*’)

32 g) Ejecutar >> fplot('[sin(x), sin(2*x), sin(3*x)]',[0,2*pi])>> legend('sen(x)','sen(2x)','sen(3x)')

33 h) Ejecutar en la ventana de edición el programa:

34

35

36 Ejemplos: a) Graficar en dos subgráficas una fila y dos columnas: x = [0:0.1:2*pi]; y = sin(x); z = cos(x); subplot(121); plot(x,y) title(‘sen(x)’) subplot(122); plot(x,z) title(‘cos(x)’)

37 b) Graficar en dos subgráficasdos fila y una columna: x = [0:0.1:2*pi]; y = sin(x); z = cos(x); subplot(211); plot(x,y) title(‘sen(x)’) hold on subplot(212); plot(x,z) title(‘cos(x)’)

38 c) Graficar en cuatro subgráficas dos filas y dos columnas:subplot (221); fplot(‘sin(x)’,[-2*pi 2*pi]); subplot (222); fplot(‘cos(x)’,[-2*pi 2*pi]); subplot (223); fplot(‘csc(x)’,[-2*pi 2*pi ]); subplot (224); fplot(‘sec(x)’,[-2*pi 2*pi ]);

39 d) Graficar en diferentes escalasx = 0:0.01:3; y = abs(exp(-0.5*x).*sin(5*x)); subplot(221); plot(x,y) title(‘normal’) hold on subplot(222) loglog(x,y) title(‘logaritmica’) subplot(223) semilogx(x,y) title(‘semilogaritmico en eje x’) subplot(224) semilogy(x,y) title(‘semilogaritmico en eje y’)

40 Gráficas en tres dimensionesplot3(x,y,z) x, y ,z son las coordenadas de la función Por ejemplo: graficar x=sen(t), y=cos(t), z=t

41 Graficar: senx, cosx, cos2x en tres planos diferentes

42 Gráficas de malla: mesh(x,y,z)Primero hay que definir la rejilla con meshgrid que genera la matrices x,y Ejemplo:

43 Gráficas de contorno: contour3(x,y,z,n)Da una gráfica de dos dimensiones de los contornos de la gráfica.

44 Graficar n líneas de contorno en un plano

45 3. CÁLCULO NUMÉRICO 3.1 LÍMITES

46

47 3.2 DERIVADAS

48

49

50 e) f(x) = log(sen(2x)) >> syms x >> diff(log(sin(2e) f(x) = log(sen(2x)) >> syms x >> diff(log(sin(2*x))) ans = 2*cos(2*x)/sin(2*x)

51

52 4.3 INTEGRALES

53

54

55

56 4.4 ECUACIONES DIFERENCIALES: dsolve𝐸𝑗𝑒𝑚𝑝𝑙𝑜: 𝑑 2 𝑦(𝑡) 𝑑 𝑡 2 +𝑦 𝑡 =4 dsolve('D2y+y=4') ans = C2*cos(t) + C3*sin(t) + 4 Si se conocen condiciones iniciales: y(0)=1, y’(0)=0 dsolve('D2y+y=4','y(0)=1','Dy(0)=0') ans = 4 - 3*cos(t)

57 𝐸𝑗𝑒𝑚𝑝𝑙𝑜: 𝑑 2 𝑦(𝑥) 𝑑 𝑡 2 +𝑦 𝑥 =4, variable independiente es x dsolve('D2y+y=4','x') ans =C8*cos(x) + C9*sin(x) + 4 Para un sistema de ecuaciones: 𝑑𝑥 𝑑𝑡 =3𝑥+4𝑦 , 𝑑𝑦 𝑑𝑡 =−7𝑥+6𝑦 [x,y]=dsolve('Dx=3*x+4*y’, ‘Dy= - 7*x+6*y‘, ‘x(0)=2','y(0)=1')

58 USO DE: ode45 𝑑𝑦1 𝑑𝑡 =𝑦2𝑦3 , 𝑦1 0 =0, 𝑑𝑦2 𝑑𝑡 =−𝑦1𝑦3, 𝑦2 0 =1, 𝑑𝑦3 𝑑𝑡 =−0.5𝑦1𝑦2, 𝑦3 0 =1

59 APLICACIÓN: EL BIOREACTOREl uso de células vivas para la producción de productos químicos crece anualmente con ritmos asombrosos. Tanto microorganismos (bacterias, hongos, algas) como células humanas, vegetales o animales se utilizan para la producción varios productos químicos, como por ejemplo insulina, antibióticos, biosurfactantes. Son responsables también de la producción de alcohol vía fermentación, producción de quesos, vinos, champagne, etc. También los procesos biológicos son muy usados en el tratamiento de residuos y efluentes. Cuando una pequeña cantidad de células vivas es adicionada en una solución líquida que contiene los nutrientes esenciales, y que se encuentra a una temperatura y un PH adecuado, las células crecerán. El agua es el componente principal de las células, por lo tanto un suministro de agua adecuado es indispensable para lograr el mantenimiento y crecimiento microbiano y es medio de transporte de los sustratos (o contaminantes) hacia el interior de las células, y también el transporte de los compuestos que se producen dentro de la célula y que son devueltos al medio de cultivo.

60 La figura muestra la utilización de los sustratos para la obtención de los productos de la reacción biológica. α𝑆→𝛾𝑋+β𝑃 Monod en 1942 desarrolló una ecuación muy simple para representar los procesos biológicos que funciona en general muy bien.

61 Donde, μmax=velocidad específica de crecimiento máxima, h-1 Ks=constante de saturación, g/l S=concentración de sustrato limitante, g/l Ecuaciones dinámicas. 𝑑𝑋 𝑑𝑡 =μ𝑋 𝑑𝑃 𝑑𝑡 = 𝑌 𝑃𝑋 μ𝑋 𝑑𝑆 𝑑𝑡=− 𝑌 𝑋𝑆 μ𝑋−μ𝑋

62 Ejemplo: Condiciones iniciales: X(0)=0. 05 g/l, P(0)=0 g/l, S(0)=14Ejemplo: Condiciones iniciales: X(0)=0.05 g/l, P(0)=0 g/l, S(0)=14.5 g/l μmax=1 /h, Ks=7, Ypx=0.5, Yxs=0.45 MATLAB (biodig.m)

63 MATLAB (Reactor2.m)

64

65 4. DINÁMICA DE SISTEMAS 4.1. SISTEMASUn sistema es una combinación de componentes que actúan conjuntamente para alcanzar un objetivo específico. Un sistema es dinámico cuando la salida presente depende de las entradas pasadas y es estático cuando la salida presente depende solamente de las entradas presentes. Los componentes básicos de un sistema son: Elementos que son las partes del sistema Estructura. Se refiere a las interrelaciones entre las partes del sistema. Ambiente. Relaciona el sistema con el todo. Es su entorno Entradas. Son las fuentes de energía, recursos e información Salidas. Son los productos o resultados.

66 Los sistemas pueden clasificarse de las siguientes maneras:Sistemas de lazo abierto y Sistemas en lazo cerrado, que son los que realimentan parte de su salida a la entrada. 4.2 MODELO MATEMÁTICO Es la descripción matemática que predice el funcionamiento del sistema. En los sistemas físicos el modelo matemático se describe por ecuaciones diferenciales. Los sistemas lineales se modelan con ecuaciones diferenciales lineales y son aquellos que se les aplica el principio de superposición, esto es, la respuesta de un sistema a varias entradas simultáneas es la suma de las respuestas individuales.

67 Para elaborar un modelo: Se debe dibujar un diagrama esquemático del sistema y definir las variables. Escribir las ecuaciones utilizando las leyes físicas de cada componente, combinándolos de acuerdo al diagrama y obtener el modelo matemático Verificar la validez del modelo comparando la predicción de las ecuaciones del modelo con los resultados experimentales. El modelo se debe ajustar hasta que haya una buena concordancia entre lo teórico y lo práctico. En general, la construcción de modelos se basa en la observación del sistema. Existen algunos caminos básicos para obtener un modelo:

68 Modelamiento de Sistemas: Esta estrategia consiste en descomponer (abstractamente) el sistema en subsistemas más simples, cuyos modelos sean factibles de obtener gracias a la experiencia previa. Una vez obtenidos estos submodelos, se buscan las relaciones que existen entre ellos, para interconectarlos y obtener el modelo del sistema original. Esta estrategia busca una descripción desde adentro del sistema, generalmente basada en el conocimiento de las leyes que rigen los sistemas simples.

69 Identificación de Sistemas: Esta estrategia consiste en acumular un número suficiente de observaciones sobre las señales de entrada y salida del sistema, con el propósito de emplearlas para construir un modelo del mismo. No se centra en lo que existe al interior del sistema, sino en su comportamiento respecto al entorno. Estrategia híbrida: Existe una tercera estrategia, que realmente es una combinación de las anteriores: Al igual que en la estrategia de modelamiento, se emplea el conocimiento que esté a la mano acerca de la estructura interna del sistema y las leyes que rigen su comportamiento, y se emplean observaciones para determinar la información que haga falta.

70 Para un sistema continuo de una única entrada y una única salida, el modelo empleado corresponde a una ecuación diferencial ordinaria de coeficientes constantes: Otro tipo de ecuaciones diferenciales que se emplearán relacionan vectores de variables mediante matrices.

71 4.3 LAPLACE CON MATLAB LAPLACE DIRECTAPara calcular la Transformada de Laplace de una función se usa el comando >> laplace(f(t)) Ejemplos: Calcular la transformada de Laplace de:

72 a) f(t) = cos(wt)+sen(wt)>> syms w t >> laplace(cos(w*t)+sin(w*t)) ans = s/(s^2+w^2)+w/(s^2+w^2) b) f(t) = 3t + 2t2 >> laplace((3*t)+2*t^2) ans = 3/s^2+4/s^3 c) f(t) = 3e-2t -2e5t >> laplace(3*exp(-2*t)- 2*exp(5*t)) ans = 3/(s+2)-2/(s-5)

73 LAPLACE I NVERSA 𝑓 𝑡 = 𝑒 −𝑡 [ cos 𝑡 + sin 𝑡 ]Dada la Transformada de Laplace F(s), la Transformada Inversa de Laplace es f(t). El comando o función matlab para obtener la función en el tiempo es: >> ilaplace(fs) >> syms s >> fs=(s+2)/(s^2+2*s+2); >> ilaplace(fs) ans = exp(-t)*(cos(t)+sin(t)) 𝑓 𝑡 = 𝑒 −𝑡 [ cos 𝑡 + sin 𝑡 ]

74 4.4 ECUACIONES DIFERENCIALES CON MATLABPara resolver o solucionar una ecuación diferencial: Se aplica transformada de Laplace a la ecuación Se despeja F(s) Se halla la transformada inversa

75 c) Aplicando Transformada inversa de Laplace:,

76

77 4.5 FUNCIÓN DE TRANSFERENCIALa función de transferencia de un sistema descrito mediante una ecuación diferencial, se define como el cociente de la Transformada de Laplace de la salida y la Transformada de Laplace de la entrada. El método para encontrar la función de transferencia de un sistema es el siguiente: Escribir la ecuación diferencial del sistema Aplicar la Transformada de Laplace de la ecuación diferencial con condiciones iniciales cero Sacar el cociente entre la variable de salida y la entrada

78

79 4.6 DIAGRAMA EN BLOQUES a) Entrada: ei, salida: eo La estructura de un sistema se representa por un diagrama en bloques según el siguiente procedimiento: Definir la entrada y la salida Escribir las ecuaciones que describa el comportamiento de cada elemento del sistema Aplicar transformada de Laplace a cada elemento Integrar los elementos en un diagrama completo (estructura) a) Entrada: ei, salida: eo

80

81 TIPOS DE ESTRUCTURAS Los diagramas de bloques mediante los cuales se estructura un sistema son complejos y son generalmente combinaciones de los siguientes tipos de estructuras:

82

83 Matlab: >> Gla = Gs*Hs >> Glc = feedback(Gs,Hs)

84

85 % (1) Primera realimentaciónG1=tf(1,[1 4]) H1=tf(1,[1 0]) % Realimentación de G1 y H1 Glc1=feedback (G1,H1) % (3) Segunda realimentación H2=1/2 Glc2=feedback(G4,H2) % (4) Segunda estructura serie G3=tf(1,[1 0]) G5=Glc2*G3 % (2) Estructura serie G2=tf(1,[1 2]) G4=Glc1*G2 % (5) Tercera realimentación Glc=feedback(G5,1)

86 RESPUESTA DE UN SISTEMAGeneralmente se conoce como respuesta de un sistema la salida en el dominio del tiempo que tiene el sistema cuando a su entrada se le aplica una función escalón unitaria. También se conoce como respuesta al paso unitario. Para el ejemplo anterior la respuesta al paso unitario se obtiene adicionando la instrucción: >> step(Glc) Esta respuesta tiene como característica importante la amplitud de pico, el sobreimpulso (overshoot) y el tiempo de establecimiento (setting time).

87 Matlab: >> num=[1 3 2]; >> den=[ ]; >> Glc=tf(num,den) >>step(Glc)