【发布时间】:2021-04-10 11:48:03
【问题描述】:
我无法理解如何将不等式添加到 fsolve 函数。
例如:
这是包裹:
import numpy as np
from scipy.optimize import fsolve
这些是我想使用的方程式:
x1 >= 0.4 and x1 <= 0.7
x2 >= 0.2 and x2 <= 0.4
5x2**2 + 2x1**3 = 2
这是我要创建的功能:
myFunc(z):
x1 = z[0]
x2 = z[1]
F = np.empty((3))
F[0] = x1 >= 0.4 and x1 <= 0.7 # <-- This is the first equation
F[1] = x2 >= 0.2 and x2 <= 0.4 # <-- this is the second equation
F[2] = 5x2**2 + 2x1**3 = 2 # <-- this is the third equation
return F
然后我们调用 fsolve:
zGuess = np.array([0.3,0.3])
z = fsolve(myFunction,zGuess)
print(z)
关于如何设置不等式的任何想法?
【问题讨论】:
-
你确定变量的界限是正确的吗?没有满足第三个等式的点,请参阅
0.4**3 + 0.2**2 = 0.041 < 0.7。 -
你是对的。我修好了
-
如果我的回答对你有帮助,如果你能接受就太好了。