1
Wie nehme ich das Ergebnis von einem (Ungleichheit/relationalen) Objekt und mache es zu einem (set/interval) Objekt?Python sympy (Ungleichheit OR relational) zu (set ODER interval)
import sympy
import sympy.solvers
#import sympy.solvers.inequalities
from sympy.solvers.inequalities import reduce_rational_inequalities
x = sympy.Symbol('x')
ExampleInequalities1 = [[x**2 <= 1]]
ResultDomain1 = reduce_rational_inequalities(ExampleInequalities1, x)
print 'ResultDomain1', ResultDomain1
mir gibt:
>>> And(-1 <= x, x <= 1)
Das obige Ergebnis wie folgt dargestellt werden:
>>> sympy.Interval(-1, 1)
der ein Sympy Set Interval Objekt ist. (womit ich Schnittpunkt, Einheit, Komplement usw. verwenden kann).
Wie führe ich diese Umwandlung durch?
Funktioniert hervorragend für alle Fälle gehen zurück, außer wenn ich ein 'False' Domain als meine Ungleichheit Ergebnis. Ich werde einen speziellen Fall machen, um das in den EmptySet zu verwandeln. Danke für die schnelle Antwort! –
Solange die Ungleichung ein SymPy-Objekt erzeugt, erhalten Sie 'S.false', den falschen Typ SymPy, und' S.false.as_set() 'gibt' EmptySet() 'wie erwartet. – asmeurer