Ejercicio Básico de EJS
Hoy vamos a realizar un ejercicio sencillo con EJS simulando una marioneta con muelle.
Para ello describiremos teoricamente el ejercicio ( su parte mecanica y la ecuación diferencial resultante).
Hay que definir dos ecuaciones diferenciales , cada una de ellas representa la velocidad y la aceleración de la marioneta.
\[x^2 = a * landa + b * u \]
\[x (0) = Xo\]
Por lo que la segunda derivada queda en funcion de : \[x" = f (t,x,x`) \]
Aplicando la segunda ley de newton para cargas : \Sumatorio de fuerzas = m * a \]
Siendo "m" la masa de la marioneta y "a" su aceleración y "v" su velocidad.La fuerza "f" sera la fuerza de rozamiento del aire. Por lo tanto sustituyendo y derivando en las encuaciones anteriormente mencionadas :
\[ f -k*x b*v = m * a\]
\[x" = -k/m *x - b/m* x` + 1/m * f \]
EJS presenta una dificultad. No se pueden introducir ecuaciones de mas de 1er grado por lo que apelando al algebra sabemos que una ecuación explicita de orden N es equivalente a un sistema de N ecuaciones. Se realiza con cambios de variable.
Siendo x = x1 y x`= x2
\[x2` = -k/m *x - b/m* x` + 1/m * f \]
\[x1` = x2 \]
La variable independiente sera el tiempo "t" y la función incognita x1 y x2.
Inicializaremos las variables:
\[x (0) = 2\] \[x` (0) = 0\] \[m = 30kg\] \[b = 5\]
\[k = 2\] \[f = 0\]
Dicho esto comenzaremos con EJS definiendo las variables e inicializandolas:
Posteriormente en el modulo de vista colocaremos los elementos necesarios para su visualización : Un gráfico en 2D de tipo "PlottingFrame" y para imagenes en 3D "DrawingFrame".
Configuraremos ambos elementos para que la visualización sea correcta:
Y procederemos a la simulación:
No hay comentarios:
Publicar un comentario