我正在尝试用GEKKO开发我的约束,我需要包括一些数学运算,如log、coth或sqrt。你知道吗
我最初尝试使用习惯性的过程,使用numpy或mpmath,但我发现使用GEKKO时,在完成m=GEKKO()之后,我需要使用它们的操作符定义,如m.wathever(log,…)
最好的发展方式是什么?
当我改变它的时候我应该考虑一下吗?你知道吗
K_t = (1 + m + np.sqrt(1 + m**3)) - mpmath.coth(s/2) # Ref 2. Same results
Tags:
使用这些函数的Gekko版本,而不是NumPy或Math版本:
由于运算符重载,需要Gekko版本来计算具有自动微分的解算器的一阶和二阶导数。没有
coth
,因此需要用coth(x) = cosh(x)/sinh(x)
替换。我通常将Gekko模型定义为m=GEKKO()
,但是您有另一个名为m
的变量,所以我使用了gk
。这里是来自documentation on Model Building Functions的一节。你知道吗方程函数
除了代数算子外,GEKKO函数还提供了特殊的函数。必须使用这些函数(不是numpy或其他等效函数):
相关问题 更多 >
编程相关推荐