在 spyder IDE 中以时间相关值显示 gekko 变量值

Displaying gekko variable values in a time-dependent value in spyder IDE

我将 GEKKO 用于时间相关的 DEs 模型。我正在使用 GEKKO 变量跟踪混合良好的隔间模型中的物种浓度;但是,我无法查看 spyder IDE 中随时间变化的浓度数组。我可以绘制浓度并将值作为图表查看,或使用“结果”excel 文件中报告的值,但在 spyder 中查看时间相关值会很有用。现在,在 spyder 的变量浏览器中,变量显示为 gk_variable.GKVariable.

类型

这是我使用的代码示例

from gekko import GEKKO
import numpy as np
import pandas as pd

myFile = pd.read_csv('Time_Array.csv', sep = ',')
myFile.index
myFile.columns
time = np.array(myFile)

m.time = time

FCG = m.Var(value = 6.934045, lb = 0) 
CMG = m.Var(value = 7.01148, lb = 0)

m.Equations([FCG.dt() == Qdiet/Vintestines + Qsynintestine + Kfclg*FCL*(Vliver/Vintestines) - Kfcex*FCG - Kfccm*FCG, CMG.dt() == Kfccm*FCG - Kcmgb * CMG])

m.options.IMODE = 4
m.solve(disp = True)

以上代码是模型的一个片段。在实际模型中,有更多的常数和方程;但是,我基本上想在不离开 spyder IDE 的情况下查看 FCG 和 CMG 等浓度的时间依赖值。我知道您可以通过在代码中插入打印语句来做到这一点,我想知道是否有人知道任何其他更清晰的修复程序。

非常感谢!

.value 属性 可用于查看 Gekko 参数或变量的数值。这不会显示在变量资源管理器中,因此 work-around 是创建一个新的 Python 变量。

fcg_values = FCG.value

您还可以看到第一个值:

fcg_init = FCG.value[0]

最后一个值:

fcg_last = FCG.value[-1]

或者介于两者之间的一系列值:

fcg_inner = FCG.value[2:5]