Einschränkung: Reelle Zahlen < Maple < Mathe-Software < Mathe < Vorhilfe
|
Wieso wird mir trotz der Einschränkung assume(x,real) bei [mm] solve(x^3+x^2+x=0,x) [/mm] als Lösungsmöglichkeiten komplexe Zahlen angegeben, bzw. wie kann ich das verhindern?
Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.
|
|
|
|
Status: |
(Mitteilung) Reaktion unnötig | Datum: | 02:01 Mi 03.01.2007 | Autor: | fidionael |
Meine Eingaben in Maple mit Ausgabe zur Verdeutlichung:
[mm] f:=x->x^3+x^2+x:
[/mm]
assume(x,real);solve(f(x)=0,x)
[mm]0,-\bruch{1}{2}+\bruch{1}{2}*I*\wurzel{3},-\bruch{1}{2}-\bruch{1}{2}*I*\wurzel{3}[/mm]
coulditbe(x=I)
false
[mm]coulditbe(x=I*\wurzel{3}[/mm])
true
|
|
|
|
|
Hallo,
assume(x,real); bewirkt lediglich, dass bei der Bearbeitung von Ausdrücken, die x enthalten, z.B. [mm] $\sqrt{x^2}$ [/mm] in $|x|$ vereinfacht wird. Ich vermute, dass beim Lösen von Polynomen ausschließlich die Koeffizienten betrachtet werden.
1: |
| 2: | > use RealDomain in solve(x^3+x^2+x) end;
| 3: |
| 4: | 0
| 5: | # oder
| 6: |
| 7: | > with(RealDomain):
| 8: | > solve(x^3+x^2+x);
| 9: |
| 10: | 0
| 11: |
| 12: | # und jetzt kann man das "übliche" solve so bekommen:
| 13: |
| 14: | > lprint(:-solve(x^3+x^2+x));
| 15: | 0, -1/2+1/2*I*3^(1/2), -1/2-1/2*I*3^(1/2)
|
das "lprint" habe ich nur wegen der lesbareren Ausgabe (nach copy-paste) benutzt.
Ich hoffe, das hilft ein wenig,
Peter
|
|
|
|
|
Nimm anstellen von solve einfach fsolve, damit wird die Aufgabe nurnoch numerisch gelöst, bekommst also keine Komplexen Zahlen mehr, nurnoch reale ^^
|
|
|
|