lunes, 21 de febrero de 2011

Creación de un espacio 3D en Anylogic

Hemos creado un espacio 3D con las herramientas que nos proporciona el programa Anylogic. El resultado ha sido el siguiente:


lunes, 14 de febrero de 2011

Práctica 2: Ecuaciones diferenciales (Anylogic)

Enunciado:

Dado el siguiente  problema de condiciones iniciales (PCI), hallar la solución numérica y la simulación gráfica mediante Anylogic:


Relación con teoría-clase:

Se trata de un problema donde "t" es la variable independiente que representa el tiempo, siendo "x" la función incógnita. Por lo tanto, la función F dada es F(t,x) = -(1/3)x.

La ecuación de orden n = 1 está en forma explícita (ya que dx/dt está despejada), en la cual la solución es única y existe ya que f(x)=-(1/3)x es continua de Lipschitz.

Resolución en Anylogic: 

Al abrir un nuevo proyecto (File → New → Model), se arrastra del menú derecho "System Dynamics" al área de trabajo "main" un "Stock variable" (con forma de cuadrado) y un "Flow aux variable" (con forma de círculo), quedado relacionadas por una flecha que indica que existe un flujo (lo que matemáticamente se vería como una integración).


En las propiedades de "Stock Variable", se introduce el nombre de la función incógnita "x" con un valor inicial de 5, siendo dx/dt = Dx. En las propiedades de "Flow aux variable", se introduce el nombre de "Dx", siendo la función F dada Dx = (-1.0/3)*x.

NOTA: Teniendo en cuenta que se está trabajando con lenguaje JAVA, es necesario escribir 1.0, ya que de lo contrario el cociente normal daría 0 como resultado, ya que JAVA da la solución en números enteros.

Haciendo doble click sobre "Flow aux variable" se traza automáticamente una flecha entre "x" y "Dx" (expresa la dependencia entre ambas), de forma que queda representado el Diagrama de Forrester de la ecuación diferencial.
Diagrama de Forrester de la Ecuación diferencial.

Para obtener la simulación se introduce una circunferencia a través de Presentation Oval, siendo los parámetros dentro de General "Radius X" y "Radius Y" igual a 10. Además, dentro del Properties "Dynamic" se ajusta la escala de forma que se perciba correctamente el movimiento X = 100*x
 
Para la obtención de la solución numérica se crea un Data Set pichando con el botón derecho sobre "Stock Variable",  en cuyas propiedades se habilita la casilla Update Automatically.

Para la obtención de la solución gráfica de x respecto de t, se introduce un Time Plot al área de trabajo desde la pestaña Analysis, en cuyas propiedades General Add Data Item Value se introduce "x", ya que es el valor a representar.

Para poder visualizar todo lo anteriormente explicado, se le dará al boton "Play" para ver la simulación, y observa que según avanza el tiempo se va completando tanto la tabla como el gráfico.


Falta grafico...

lunes, 31 de enero de 2011

Práctica 1: Ecuaciones diferenciales (EJS)

Enunciado:

Dado el siguiente  problema de condiciones iniciales (PCI), hallar la solución numérica y la simulación gráfica mediante EJS:


Relación con teoría-clase:

Se trata de un problema donde "t" es la variable independiente que representa el tiempo, siendo "x" la función incógnita. Por lo tanto, la función F dada es F(t,x) = ax.

La ecuación de orden n = 1 está en forma explícita (ya que dx/dt está despejada), en la cual la solución es única y existe ya que f(x)=ax es continua de Lipschitz.

Resolución en EJS:

Se introducen las variables con sus correspondientes valores iniciales en la pestaña MODELO → Variables:
  • haciendo doble click en el nombre, se introduce el nombre de las diferentes variables.
  • haciendo doble click en valor inicial, en cada caso se introduce en valor inicial de cada variable (todas de tipo double).
x = -1      a = -3      t = no ponemos nada, ya que se considera cero
Para introducir la ecuación diferencial ordinaria, en la pestaña MODELO Evolución:
  • se introduce la variable independiente "t"
  • se introducen los términos de la ecuación diferencial ordinaria en los diferentes apartados, así como la función F dada:
Estado: dx/dt
Derivada: a*x
Para realizar la simulación, en la pestaña VISTA se selecciona el interfaz "Drawing Frame, en cuyas propiedades de shape2D, en Pos X, se introduce la variable x. Pulsando el botón play se observa la trayectoria desde x = -1 hasta x = 0.
   
Solución numérica. 
Extracto de la tabla de valores.
Para la obtención de la solución numérica en la pestaña VISTA se introduce un nuevo interfaz "TablaDatos", en cuyas propiedades de   Entrada se ponen las variables t,x. Pulsando el  botón play obtenemos los valores numéricos de t y x, donde "A" representa a "t", y "B" a "x".

En este caso, la solución numérica se puede  obtener mediante la expresión x = x0*e^a*t.


 
Para la obtención de la representación gráfica, en la pestaña VISTA se introduce un nuevo interfaz "PlottingFrame", en cuyas propiedades de Entrada X, hay que introducir "t", y en Entrada Y, "x". Pulsando el botón play obtenemos la representación gráfica



NOTA: Esta práctica es igual a la práctica 1 del grupo del martes, pero siendo a=-1/(R*C). Por lo que la ecuación diferencial se podría referir a un circuito capacitivo RC correspondientes a los parámetros de la resistencia y el condensador.