Seite 1 von 1

System von Ungleichungen lösen (Schnittmenge)?

Verfasst: Dienstag 1. Februar 2011, 19:21
von mathman
Folgendes Problem

im Rahmen einer Spannbetonbemessung erhalten wir mehre Ungleichungen für die erforderliche Vorspannkraft der Form

Ergebnis 1: P >= 1,2
Ergebnis 2: P >= 1,0
Ergebnis 3: P <= 5,0
Ergebnis 4: P <= 6,0

Gibt es eine Möglichkeit mit Python dieses einfache Ungleichungssystem numerisch zu lösen (Schnittmenge). Per Hand kommt da ja 1,2 <= P <= 5 raus. Da wir aber viele dieser einfachen Ergebnisse haben wäre es sehr nützlich die Schnittmengen numerisch bestimmen zu lassen. In Scipy sind wir leider noch nicht auf eine Lösung gestoßen oder gibt es evtl. noch Alternativen ?

Gruß

Re: System von Ungleichungen lösen (Schnittmenge)?

Verfasst: Dienstag 1. Februar 2011, 19:42
von EyDu
Wenn alle Ungleichungen so einfach sind:

Code: Alles auswählen

>>> def spam(lowers, uppers):
...     lower, upper = max(lowers), min(uppers)
...     if upper < lower:
...         raise ValueError
...     return lower, upper
... 
>>> spam([1,5,2,3,5], [9,7,12])
(5, 7)
>>> spam([3], [3])
(3, 3)
>>> spam([4], [3])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 4, in spam
ValueError