在时间序列分析中使用 m.abs3() 时,结果值为 0 作为初始值。这进一步导致后续计算中出现“被0除”的问题。
在脚本中,例如,对于 x = [-0.010292872139, -0.013621207394, -0.013666766692, -0.013712305714, -0.013757829097, -0.013803253697, -0.013848595166, -0.013893769488, -0.013943077385, -0.013987013738, -0.014030702679]
的值, m.abs3(x) 返回 [0.0, 0.013621207394, 0.013666766692, 0.013712305714, 0.013757829097, 0.013803253697, 0.013848595166, 0.013893769488, 0.013943077385, 0.013987013738, 0.014030702679]
结果。
我已经按照此处的建议尝试了 m.if3(x,-x,x) 作为解决方法 - How to solve Absolute Value abs() objective with Python Gekko?但结果仍然与上面 m.abs3(x) 相同。
您能否告诉我导致此情况发生的原因以及是否有解决此问题的方法。非常感谢。
最佳答案
给 x 的值指定一个下界解决了这个问题; m.x.下 = 10**-10
关于gekko - 使用 m.abs3() 时出现 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62293389/