我应该如何与GEKKO建立log或sqrt模型?约束条件

2024-05-14 00:58:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试用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: numpylogref定义过程np方式数学
1条回答
网友
1楼 · 发布于 2024-05-14 00:58:43

使用这些函数的Gekko版本,而不是NumPy或Math版本:

gk = GEKKO()
K_t = (1 + m + gk.sqrt(1 + m**3)) - gk.cosh(s/2)/gk.sinh(s/2)

由于运算符重载,需要Gekko版本来计算具有自动微分的解算器的一阶和二阶导数。没有coth,因此需要用coth(x) = cosh(x)/sinh(x)替换。我通常将Gekko模型定义为m=GEKKO(),但是您有另一个名为m的变量,所以我使用了gk。这里是来自documentation on Model Building Functions的一节。你知道吗

方程函数

除了代数算子外,GEKKO函数还提供了特殊的函数。必须使用这些函数(不是numpy或其他等效函数):

  • 你知道吗gk.sin公司(其他)
  • 你知道吗gk.cos公司(其他)
  • 你知道吗gk.tan公司(其他)
  • 你知道吗gk.asin公司(其他)
  • 你知道吗gk.acos公司(其他)
  • 你知道吗gk.atan公司(其他)
  • 你知道吗新罕布什尔州(其他)
  • 你知道吗gk.cosh公司(其他)
  • 你知道吗gk.tanh公司(其他)
  • 你知道吗gk.exp公司(其他)
  • 你知道吗gk.log公司(其他)
  • 你知道吗gk.log10型(其他)
  • 你知道吗gk.sqrt公司(其他)

相关问题 更多 >