“Modelamiento de Problemas” Carlos Valle Vidal Introducción “Modelamiento de Problemas” Proceso de Modelamiento Sistemas dinámicos Carlos Valle Vidal cvalle@inf.utfsm.cl Departamento de Informática Universidad Técnica Federico Santa Marı́a Rancagua, Agosto 2009 1 / 25 Temario “Modelamiento de Problemas” Carlos Valle Vidal Introducción 1 Introducción 2 Proceso de Modelamiento 3 Sistemas dinámicos Proceso de Modelamiento Sistemas dinámicos 2 / 25 Temario “Modelamiento de Problemas” Carlos Valle Vidal Introducción 1 Introducción 2 Proceso de Modelamiento 3 Sistemas dinámicos Proceso de Modelamiento Sistemas dinámicos 3 / 25 Introducción “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Se denomina modelamiento a la descripción matemática de un sistema o fenómeno. El modelamiento tiene dos pasos relevantes: Identificar las variables que originan cambios. Establecer hipótesis razonables. Sistemas dinámicos 4 / 25 Temario “Modelamiento de Problemas” Carlos Valle Vidal Introducción 1 Introducción 2 Proceso de Modelamiento 3 Sistemas dinámicos Proceso de Modelamiento Sistemas dinámicos 5 / 25 Proceso de Modelamiento “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos 6 / 25 Crecimiento demográfico “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos El economista inglés Thomas Maltus (1798) fue el primero en modelar matemáticamente el crecimiento demográfico humano. Hipótesis: El crecimiento de la población crece en forma proporcional a la población total. Sea P(t) la población en un tiempo t. 7 / 25 Crecimiento demográfico (2) “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos Matemáticamente: ∂P = kP ∂t Esta ecuación predijo con mucha exactitud la población de EEUU entre 1790 a 1860. La ecuación anterior es la misma que rige la desintegración radioactiva, la tasa de capitalización de una inversión financiera, etc. 8 / 25 Ley de Newton “Modelamiento de Problemas” La Ley de Newton de enfriamiento se expresa como: Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos ∂T = k(T − Tm ) ∂t Donde T(t) representa la temperatura del objeto en el instante t y Tm es la temperatura del medio 9 / 25 Vaciado en un estanque “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos ∂h A0 p =− 2gh ∂t At 10 / 25 Caida Libre “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos ∂2 s = −g ∂t2 s(0) = s0 s0 (0) = v0 11 / 25 Caida Libre con resistencia al aire “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos ∂2 s = mg − kv ∂t2 s(0) = s0 m s0 (0) = v0 mg actúa en la dirección positiva. K es una constante 12 / 25 Circuitos eléctricos “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos ∂i 1 L + Ri + ∂t C Z i∂t 13 / 25 Temario “Modelamiento de Problemas” Carlos Valle Vidal Introducción 1 Introducción 2 Proceso de Modelamiento 3 Sistemas dinámicos Proceso de Modelamiento Sistemas dinámicos 14 / 25 Sistemas dinámicos “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos Los ejemplos anteriores son muestras de los llamados “Sistemas dinámicos”, es decir, sistemas que cambian a través del tiempo. Un sistema dinámico consiste en un conjunto de variables dependientes del tiempo llamadas variables de estado. Los sistemas dinámicos se modelan por las llamadas ecuaciones diferenciales. Una ecuación diferencial es una ecuación que contiene las derivadas de una o más variables dependientes con respecto a una o más variables independientes. 15 / 25 Clasificación de ecuaciones diferenciales “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos Las ecuaciones diferenciales se clasifican de acuerdo a su: Tipo: ordinarias o derivadas parciales Ordinarias: una variable independiente Orden: derivada de mayor orden. Linealidad La siguiente ecuación es ordinaria de grado dos y lineal. ∂2 y ∂y + 3 + 2y = 4e−2t − 5 ∂t2 ∂t 16 / 25 Resolución de ecuaciones diferenciales “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos Veremos la forma de resolver ecuaciones diferenciales en MATLAB a través de un ejemplo. Solucionar la ecuación: ∂2 y ∂y + 3 + 2y = 4e−2t − 5 2 ∂t ∂t Sujeta a las siguientes condiciones iniciales: y(0) = 2, ∂y ∂t = −1 17 / 25 Primer Paso: Conversión a variables de estado “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos Esto se hace cambiando variables: x1 = y ∂y x2 = ∂t Esto significa escribir la ecuación diferencial original de orden n como un sistema de n ecuaciones diferenciales de primer orden La ecuación original queda: ∂x1 = x2 ∂t ∂x2 = −3x2 − 2x1 + 4e−2t − 5 ∂t x1 (0) = 2 x2 (0) = −1 18 / 25 Segundo paso: Creación de un archivo M para representar la función “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos function dx = ecuacion1(t,x) % x es el vector de estado %para minimizar parentesis usamos variables x1 y x2 x1=x(1); x2=x(2); % ahora se escriben las ecuaciones de estado dx1 =x2 dx2= -3*x2 - 2*x1 + 4*exp(-2*t) -5; % se agrupan las derivadas en un vector columna dx=[dx1; dx2]; 19 / 25 Tercer paso: Invocar un “ode solver” “Modelamiento de Problemas” Carlos Valle Vidal Introducción Ode: Ordinary differential equation solvers MATLAB posee varios “ode solvers” . Usaremos el ode45. >> [t,x]=ode45(@ecuacion1, [0 10], [2; -1]); Proceso de Modelamiento Se usa el sı́mbolo @ seguido del nombre de la función. Sistemas dinámicos [0 10] es el rango de valores. [2 ; −1] son las condiciones iniciales >> [t,x]=ode45(@ecuacion1, [0 10], [2; -1]); [t, x] es la solución. T almacena el tiempo y x es la solución donde x(1) es la columna 1 y x(2) la columna 2 20 / 25 Cuarto paso: Graficar las soluciones “Modelamiento de Problemas” Carlos Valle Vidal Para graficar la primera columna de x: >> plot(t, x(:,1)) Introducción Proceso de Modelamiento Sistemas dinámicos 21 / 25 Ejemplo: Demografı́a “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos Resolver la ecuación de Maltus ∂P = kP, k = 0.5, P(0) = 1000 ∂t Como es de orden 1, sólo hay una ecuación: x1 = P y x1 (0) = 1000. Se crea el archivo M: function dx= maltus(t,x) x=x(1); dx=0.5*x; Se invoca el “ode solver” [t,x]=ode45(@maltus, [0 10], [1000]) 22 / 25 Ejemplo: Demografı́a (2) “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos Si queremos generalizar k como parámetro function dx= maltus(t,x,k) x=x(1); dx=k*x; Se invoca el “ode solver” >>k=0.5; >>[t,x]=ode45(@maltus, [0 10], [1000],[],k) se agregan los parámetros adicionales a la función, pero al momento se llamar a ode45 se agrega [ ] como cuarto parámetro antes de ingresar los valores de los demás parámetros. 23 / 25 Ejemplo: Demografı́a (3) “Modelamiento de Problemas” Carlos Valle Vidal Se grafica el resultado plot(t,x(:,1)) Introducción Proceso de Modelamiento Sistemas dinámicos 24 / 25 Consultas y Comentarios “Modelamiento de Problemas” Carlos Valle Vidal Introducción Proceso de Modelamiento Sistemas dinámicos 25 / 25