Zunächst ist es etwas wie eine schwarze Kunst, Mathematica etwas genau so auszugeben, wie Sie es möchten, und erfordert viel Geduld. Das heißt, wenn Sie Reduce
zu Ihrem ursprünglichen Ausdruck anwenden, wie pro Belisarius Sie
In[1]:=Reduce[x^3 + L + r > 3 x^3 + 2 r, r, Reals]
Out[1]:= r < L - 2 x^3
Allerdings bekommen würden, wie Sie sagten, ist dies nicht der volle Ausdruck und Reduce
erzeugt, was nur beschrieben werden, als eine weniger als hilfreiche Antwort, wenn sie darauf angewendet wird. Es ist an diesem Punkt, wo Geduld und viel zusätzliche Verarbeitung erforderlich ist. Ich würde mit
In[2]:=Reduce[ <full expression>, Delta, Reals] // LogicalExpand // Simplify
starten Während dies nicht, dass Sie eine saubere Antwort nicht geben, es ist besser als zuvor und mehr von der Struktur Ihrer Lösung zeigt. (Ich würde FullSimplify
nicht als Delta
mit den anderen Begriffen mischen.) An diesem Punkt müssen wir mehr über die Begriffe selbst wissen, und die Ausgabe von In[2]
ist nicht ganz so nützlich wie wir wollen.
Ich würde dies mit LogicalExpand
erweitern, die Ihnen zwölf Begriffe gibt, die wesentlich einfacher sind als das, was allein Reduce
gibt. (Sie werden bemerken, dass nur die letzten sechs Begriffe Delta
tatsächlich beinhalten, also würde ich prüfen, ob die variablen Bedingungen die tatsächlich übereinstimmen.) Nur die letzten sechs Begriffe auswählen,
In[3]:=%2[[-6;;]] // Simplify
Out[3]:= m != 0
&& ((Omega > 0 && Delta < something) || (Omega > 0 && Delta < something else)
&& (1 < e < 2 || e < 1 || e > 2)
Der dritte Term tautologisch ist, aber Simplify
noch FullSimplify
kann nicht scheinen, es zu entfernen. Und eigentlich interessieren wir uns eigentlich nur für die Mittelfrist. Wenn Omega > 0
Ihr Ausdruck kann dann über %[[2,1,2]]
extrahiert werden.
Putting diese alle zusammen in einem Ausdruck:
In[4]:=Simplify[LogicalExpand[Reduce[<expression>, Delta, Reals]]][[-6;;]] //
Simplify // #[[2,1,2]]&
Out[4]:= Delta < something
Danach auszuschreiben, wurde mir klar, dass es eine viel einfachere Art und Weise, dies zu nähern. Ich würde Redo-Linie 2, oben, wie folgt:
In[5]:= Reduce[ <full expression>, Delta, Reals] // LogicalExpand // Simplify //
Cases[#, ___ && Delta < _ && ___, Infinity]&
Out[5]:= {Omega > 0 && Delta < something}
Oder, vorausgesetzt, Sie wirklich wissen, dass m != 0
und Omega > 0
Sie tun können,
In[6]:= Reduce[ <expr> && m!=0 && Omega > 0, Delta, Reals ] // LogicalExpand //
Simplify // #[[2]]&
Dies ist eine gültige Mathematica Frage. Bitte wählen Sie nicht, um zu schließen –
Sah Ihre Bearbeitung nach dem Posten. Bitte poste deinen aktuellen Ausdruck –