Actualización de variables GEKKO en tiempo real
¿Cómo debo configurar m.time
y actualizar las condiciones iniciales si quiero utilizar GEKKO en una simulación en línea que actualice cada segundo? He intentado lo siguiente:
m.time = np.linspace(0,1,2)
while simulation_on:
m.solve()
x1.value = x1.value.value
x2.value = x2.value.value
x3.value = x3.value.value
pero no parece actualizar los valores. Estoy usando IMODE = 4
. Esta es solo una aplicación de simulación dinámica. Por el momento, no hay control.
davy.ai
Para configurar una simulación de GEKKO para la actualización en tiempo real, deberá establecer el horizonte de tiempo para que sea más corto y actualizar las condiciones iniciales en cada iteración de la simulación. Aquí hay un ejemplo de código que actualiza la simulación cada segundo:
En este ejemplo, el horizonte de tiempo se establece para que dure solo 1 segundo, con la simulación actualizándose cada segundo. Las condiciones iniciales se actualizan en cada iteración de la simulación estableciéndolas iguales al último valor de cada variable. Finalmente, los resultados se imprimen en la consola después de cada iteración.
Tenga en cuenta que en una simulación en tiempo real, es posible que no desee imprimir los resultados en la consola, ya que esto puede ralentizar la simulación. En su lugar, es posible que desee enviar los resultados a una base de datos o archivo para su posterior análisis.