en Computadora Dr. Yván Jesús Túpac Valdivia ytupac@ucsp.pe http://www.ucsp.edu.pe/~ytupac Programa Profesional de Ciencia de la Computación Enero 2015 TÚPAC, Y., [pp.1/13]
en Computadora en Computadora Es la imitación de la operación de un proceso real o de algún sistema en el tiempo. Para simular es necesario desarrollar un modelo que representa las características principales de comportamiento o funcionamiento del sistema o proceso, físico o abstracto Así: El Modelo representa al sistema en sí mismo. La representa la operación en el tiempo. TÚPAC, Y., [pp.2/13]
en Computadora en Computadora Es la imitación de la operación de un proceso real o de algún sistema en el tiempo. Para simular es necesario desarrollar un modelo que representa las características principales de comportamiento o funcionamiento del sistema o proceso, físico o abstracto Así: El Modelo representa al sistema en sí mismo. La representa la operación en el tiempo. v0 = v0 cos φi + v0 sin φj (1) a = gj (2) TÚPAC, Y., [pp.2/13]
en Computadora Modelo en Computadora Es una representación simplificada de un sistema hecha para comprender, predecir y controlar el sistema. Pudiendo ser representado : Mentalmente: Lo que le llamamos modelo mental o visión personal hecha por un usuario Matemática o simbólicamente: mediante ecuaciones o inclusive diseños (mapas, circuitos, representaciones a escala) Hay modelos de sistemas discretos, contínuos, determinísticos, estocásticos, caóticos TÚPAC, Y., [pp.3/13]
en Computadora Del Sistema al Modelo en Computadora El gran problema es identificar el mejor modelo del sistema, existen dos enfoques: 1 Model-driven approach: Donde se busca cuál es el modelo (de una lista de modelos predefinidos) que se ajusta mejor al comportamiento del sistema (requiere análisis de los datos, sujeto a limitaciones de los modelos candidatos) 2 Data-driven approach: Donde se deja ajustar libremente una función tal que, cuando se le dé las entradas del sistema, genere respuestas que sean lo más parecidas a las salidas esperadas (requiere muchos datos, sujeto a errores en los datos). f(x) f(x) x x Model-driven Data-driven TÚPAC, Y., [pp.4/13]
en Computadora en Computadora en Computadora Es un intento de modelar una situación real o hipotética en computador para observar su comportamiento. A partir de la simulación se logra obtener: Previsiones Análisis del comportamiento ante situaciones nunca vistas antes Hay un tipo de simulación interesante: interactiva, donde el ser humano es parte del ciclo de simulación: video juegos, simuladores de manejo, de aeronáutica, etc. TÚPAC, Y., [pp.5/13]
en Computadora Del Modelo a la Computadora en Computadora Se requiere adaptar los modelos (si son matemáticos) a una representación en Computadora: Convertir el modelo o parte de él en algoritmos Implementar el algoritmo Verificar que el resultado sea coherente En cualquier implementación computacional siempre habrán pequeñas divergencias con el modelo original, debido a: 1 La conversión al mundo digital (discretización en el tiempo y espacio: métodos numéricos) 2 La aritmética en los computadores cuyas representaciones de datos numéricos reales y operaciones no son siempre exactas TÚPAC, Y., [pp.6/13]
en Computadora Ejemplo: Ley de la gravitación universal en Computadora Sea un planeta con masa m, atraído por un cuerpo de masa M (Sol), se desprecia la influencia de m en M. La partícula sufre una fuerza de atracción F con dirección radial y apuntando hacia el centro del cuerpo (Sol). El módulo de la fuerza F se puede calcular por la ley de gravitación universal: y y m F m F = G Mm r 2 (3) r donde: r es la distancia entre la partícula y el centro de fuerzas x, y posición en el sistema de referencia (Sol en el origen), es decir que r = x 2 + y 2 M x m x TÚPAC, Y., [pp.7/13]
en Computadora en Computadora Ejemplo: Ley de la gravitación universal - Solución Las componentes de la fuerza son F x = F cos θ = F x m r F y = F sin θ = F x m r Se aplica la Segunda Ley de Newton y se expresa la aceleración como la segunda derivada de la posición, obteniendo el siguiente sistema de ecuaciones diferenciales de segundo orden: (4) (5) m d2 x Mm x = G dt2 r 2 y m d2 y Mm y = G dt2 r 2 y (6) (7) TÚPAC, Y., [pp.8/13]
en Computadora en Computadora Ejemplo: Ley de la gravitación universal - Solución Dando condiciones iniciales (posición (x m0, y m0 ) y velocidad inicial v m0 ya tenemos como resolver este sistema. Para solucionar el sistma de ecuaciones diferenciales, necesitamos un método numérico, es común el de Runge-Kutta. TÚPAC, Y., [pp.9/13]
en Computadora en Computadora I Extracto del Código public abstract class RungeKutta { double h; RungeKutta ( double h){ this.h=h; } void setpaso ( double dt ){ this.h=dt; } public void resolver ( Estado e){ // variables auxiliares double k1, k2, k3, k4; double l1, l2, l3, l4; double q1, q2, q3, q4; double m1, m2, m3, m4; // estado inicial double x=e.x; double y=e.y; TÚPAC, Y., [pp.10/13]
en Computadora en Computadora II Extracto del Código double double double vx=e.vx; vy=e.vy; t=e.t; k1=h*vx; l1=h*f(x, y, vx, vy, t); q1=h*vy; m1=h*g(x, y, vx, vy, t); k2=h*( vx+l1 /2); l2=h*f(x+k1 /2, y+q1 /2, vx+l1 /2, vy+m1 /2, t+h /2); q2=h*( vy+m1 /2); m2=h*g(x+k1 /2, y+q1 /2, vx+l1 /2, vy+m1 /2, t+h /2); k3=h*( vx+l2 /2); l3=h*f(x+k2 /2, y+q2 /2, vx+l2 /2, vy+m2 /2, t+h /2); q3=h*( vy+m2 /2); TÚPAC, Y., [pp.11/13]
en Computadora en Computadora III Extracto del Código m3=h*g(x+k2 /2, y+q2 /2, vx+l2 /2, vy+m2 /2, t+h /2); k4=h*( vx+l3 ); l4=h*f(x+k3, y+q3, vx+l3, vy+m3, t+h); q4=h*( vy+m3 ); m4=h*g(x+k3, y+q3, vx+l3, vy+m3, t+h); x +=( k1 +2* k2 +2* k3+k4 )/6; vx +=( l1 +2* l2 +2* l3+l4 )/6; y +=( q1 +2* q2 +2* q3+q4 )/6; vy +=( m1 +2* m2 +2* m3+m4 )/6; t+=h; // estado final e.x=x; e.y=y; e.vx=vx; TÚPAC, Y., [pp.12/13]
en Computadora en Computadora IV Extracto del Código e.vy=vy; e.t=t; } abstract public double f( double x, double y, double vx, double vy, doub TÚPAC, Y., [pp.13/13]