我试图解决一些包含绝对值的不等式,我想使用sympy
使我的生活更容易一些。
给定的变量要遵循一些条件,例如:
Let x be element of [-1, 0). Find the zero point of `f(x) = |-2.5x^3-3x^2-0.5x|`
其中|...|
表示绝对值。
我试过不同的东西,比如:
import sympy as sp
x = sp.Symbol('x', real=True)
i = sp.Interval.Ropen(-1, 0)
f = sp.Abs(-2.5*x**3 - 3*x**2 - 0.5*x)
print(sp.imageset(x, f, i))
显然imageset
函数在绝对值上存在一些问题。我也不知道imageset
是正确的功能。
是否有这样的方法:
import sympy as sp
i = sp.Interval.Ropen(-1, 0)
x = sp.Symbol('x', real=True, element_of=i)
f = sp.Abs(-2.5*x**3 - 3*x**2 - 0.5*x)
print(sp.solve(f))
打印一组解决方案??
如果你试图得到正解或负解,给你的变量一个假设,并使用solve
:
>>> x = Symbol('x', negative=True)
>>> solve(x**2 - 1)
[-1]
如果你真的想指定一个不只是正负的域/间隔,那么将该间隔传递给solveset
:
>>> solveset((x-3)**2-1,x)
{2, 4}
>>> solveset((x-3)**2-1,x,Interval(1,3))
{2}