Variable definieren < Mathematica < Mathe-Software < Mathe < Vorhilfe
|
Status: |
(Frage) reagiert/warte auf Reaktion | Datum: | 12:14 Do 08.01.2009 | Autor: | dodothegoof |
Aufgabe | [mm] Solve[x^2 [/mm] == 1, x] |
Es ist eine sehr simple Frage, aber ich bin noch neu mit Mathematica. Ich möchte für x global definieren, dass es zwischen 0 und 1 liegt, so dass als obige Lösung nur x =1 heraus kommt. Was ist der Befehl dafür in Mathematica?
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Moin,
was ist mit
Reduce[x^2 == 1 && x <= 1 && x >= 0, x]
?
Cheers
Patrick
|
|
|
|
|
Als "Reduce" scheint mir nicht der richtige Befehl zu sein. Das x²=1 war auch nur meine Behelfsfunktion um zu kontrollieren, dass die Eingrenzung des Bereiches auch geklappt hat.
Die eigentliche Funktion lautet:
Solve[{1 - 1/2*t*Abs[x - 1] - pa == 1 - t*Abs[x] - pb}, {x}]
Dies mit dem Befehl Reduce
also Reduce[{1 - 1/2*t*Abs[x - 1] - pa == 1 - t*Abs[x] - pb}, {x}]
scheint Mathematica zu überfordern.
Auch möchte ich das ganze eben nicht für jede Gleichung neu definieren, sonder es global definieren.
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 21:25 Do 08.01.2009 | Autor: | halirutan |
Moin,
das Umformen von Gleichungen und Ausdruecken mit Parametern kann unter Umstaenden etwas diffizil sein, weil Mathematica meist allgemein gueltige Schritte vorzieht, die nicht immer einher gehen mit dem was man selbst sich unter dem Begriff "vereinfachen" vorstellt. Noch schwieriger wird es, wenn nicht-analytische Funktionen wie Abs verwendet werden. Ich moechte auf einen Satz aus der Solve-Hilfe hinweisen:
Solve gives generic solutions only. It discards solutions that are valid only when the parameters satisfy special conditions. Reduce gives the complete set of solutions.
Was man unter Umstaenden machen koennte, wenn Reduce kein Ende findet waere vielleicht
$Assumptions = x > 0;
[mm] Solve[x^2 [/mm] == 1, x] /. (x -> a_) :> x == a;
FullSimplify[%]
Dabei gibt der Solve Schritt wieder beide Loesungen (in Gleichungen umgewandelt):
{{x == -1}, {x == 1}}
und der FullSimplify-Schritt benutzt als Default den Wert der Variablen $Assumptions fuer seine Annahmen und liefert
{{False}, {x == 1}}
Hier sieht man dann auch, wie man Assumptions global setzen kann. Indem man einfach die Variable nimmt. Aber Achtung: zum Beispiel Solve arbeitet eben komplett ohne Assumptions.
Cheers
Patrick
|
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 23:33 Mi 14.01.2009 | Autor: | Peter_Pein |
Hallöle,
da schon gesagt wurde, dass Mathematica natürlich erst mal annimmt, dass jede Variable für eine komplexe Zahl steht, habe ich das fragliche Beispiel unter der Annahme, dass alles reell sein soll, sowie dass pa und pb nichtnegativ sind eingegeben und "Ruck-Zuck" eine Antwort erhalten. Von Überforderung der Funktion Reduce keine Spur:
[Dateianhang nicht öffentlich]
Gruß,
Peter
Dateianhänge: Anhang Nr. 1 (Typ: png) [nicht öffentlich]
|
|
|
|