gpt4 book ai didi

python - 我应该如何使用 GEKKO 为 log 或 sqrt 建模?约束条件

转载 作者:行者123 更新时间:2023-12-01 00:37:33 25 4
gpt4 key购买 nike

我正在尝试使用 GEKKO 开发约束,并且需要包含一些数学运算,例如 log、coth 或 sqrt。

我最初尝试使用我的习惯程序,使用 numpy 或 mpmath,但我发现使用 GEKKO 我需要使用它们的运算符定义,如 m.wathever (log,...),一旦 m = GEKKO()已完成

最好的发展方式是什么?我在更改时应该考虑一些因素吗?

K_t = (1 + m + np.sqrt(1 + m**3)) - mpmath.coth(s/2)  # Ref 2. Same results

最佳答案

使用这些函数的 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.sinh(其他)
  • gk.cosh(其他)
  • gk.tanh(其他)
  • gk.exp(其他)
  • gk.log(其他)
  • gk.log10(其他)
  • gk.sqrt(其他)

关于python - 我应该如何使用 GEKKO 为 log 或 sqrt 建模?约束条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57628179/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com