我使用python和Sympy很新...并且使用sympy解决了多变量不等式问题.
假设我在文件中有很多函数,如下所示:
cst**(sqrt(x)/2)/cst
exp(sqrt(cst*x**(1/4)))
log(log(sqrt(cst + exp(x))))
(y**(1/4) + y)**cst
sqrt(y/log(x))/cst
sqrt(cst**log(cst) + x)
(y**2)**(x/4)
sqrt(y*sqrt(cst**y))
log(sqrt(2)*sqrt(cst)*x)
Run Code Online (Sandbox Code Playgroud)
我需要派生它们,设置常量的值并检查是否,对于每个函数f,
df/dx > 0
df/dy < 0
Run Code Online (Sandbox Code Playgroud)
x在[0,+ oo]中,y在[0,1]中.
推导我使用:
dx = diff(f, x)
dy = diff(f, y)
Run Code Online (Sandbox Code Playgroud)
然后当我尝试:
cst = 2 #(for example)
solve(dx > 0)
Run Code Online (Sandbox Code Playgroud)
我收到了这个错误:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python2.7/dist-packages/sympy/solvers/solvers.py", line 634, in solve
symbols=symbols)
File "/usr/local/lib/python2.7/dist-packages/sympy/solvers/inequalities.py", line 374, in reduce_inequalities
raise NotImplementedError("only univariate inequalities are supported")
NotImplementedError: only univariate inequalities are …Run Code Online (Sandbox Code Playgroud)