Bitte schauen Sie in die angehängte Datei. Ich verwende Mathematica Solve-Funktion, um einige einfache Gleichungen aus der Physik zu lösen. Eine der Gleichungen ist eine If-Funktion, die den Funktionswert definiert, wenn eine Bedingung erfüllt ist. Solve findet fast die richtige Lösung, die selbst eine ConditionalExpression ist. Für die unabhängige Variable θ = 90 ° ist die Antwort von Solve fehlerhaft. Es scheint, dass Solve den Fall vergisst, wenn Cos gleich 0 ist. Warum? Vielen Dank.Mathematica Solve-Funktion gibt falsche Lösung, warum?
2
A
Antwort
2
Festlegen von Theta als echte löst das Problem.
w = 1500;
mus = 0.4;
fv = f Cos[theta Degree];
fh = f Sin[theta Degree];
fn = fv + w;
ff = If[mus fn >= 0, mus fn, 0];
frul = [email protected][fh == ff, f, Reals];
f /. frul /. theta -> 90.
{600}
f /. frul /. theta -> 90
{undefiniert}
Gleiche wieder, mit Radiant.
w = 1500;
mus = 0.4;
fv = f Cos[theta];
fh = f Sin[theta];
fn = fv + w;
ff = If[mus fn >= 0, mus fn, 0];
frul = [email protected][fh == ff, f, Reals];
f /. frul /. theta -> N[Pi/2]
{600}
f /. frul /. theta -> Pi/2
{undefiniert}
1
Vielen Dank Chris.
Ja, gibt es richtige Zahlen liefert richtige Antworten. Das liegt daran, dass Cos [90.0 °] 6.123233995736766E-17 ist, während Cos [90 °] 0 ist. Die Lösung ist die gleiche, aber wir täuschen sie mit endlicher Maschinenpräzision.
Wenn ich mich frage, würde ich sagen, dass dies ein Fehler im Gleichungslöser in Mathematica ist. Die von Solve [] erzeugte Lösung sollte auf Cos []> = 0 testen. Nun testet sie nach Cos []> 0, was für Cos [90 °] nicht zutrifft.
Verwandte Themen
- 1. Java - Warum gibt readAllBytes falsche Bytecodes zurück?
- 2. Warum gibt getDay falsche Werte zurück? (Javascript)
- 3. Warum gibt meine Gleichung falsche Ergebnisse?
- 4. Warum gibt forEach-Funktion falsche Ausgabe?
- 5. Partielle Differentialgleichung in Matlab (falsche Lösung)
- 6. Mathematica Problem: Lösung Matrix Gleichung AX = \ lambdaBX Symbolisch
- 7. Python - gibt falsche positive #
- 8. Gibt es HashTable-Struktur in Wolfram Mathematica?
- 9. Shader gibt falsche Fragmentfarbe
- 10. getUTCHours() Javascript gibt falsche Stunden
- 11. in_array() gibt falsche Werte zurück?
- 12. canvas.getHeight() gibt „falsche“ Zahlen
- 13. JSON.stringify gibt falsche Indexstruktur
- 14. Thema getName() gibt falsche Namen
- 15. gmtime gibt falsche Stunde zurück
- 16. Mathematica auswerten
- 17. Zip-Funktion gibt falsche Ausgabe
- 18. FontMetrics gibt falsche Höhe zurück
- 19. Android getString() gibt falsche Zeichenfolge
- 20. Warum ist sizeWithFont: constrainedToSize: lineBreakMode: gibt eine falsche Größe zurück?
- 21. Warum gibt eine Frame-Methode eines NSView falsche Ergebnisse zurück?
- 22. Warum gibt der Modulo-Operator eine falsche Antwort?
- 23. Warum inet_ntoa zweimal in printf aufgerufen wird, gibt falsche Ausgabe?
- 24. Warum Linkin Verbindung Rest API gibt falsche Mitglieds-ID?
- 25. Warum gibt die Funktion CAST() das falsche Datum zurück?
- 26. ORDER BY gibt falsche Reihenfolge
- 27. Trigonometrische Gleichung Mathematica
- 28. Öffnen Mathematica Datei
- 29. „Creat“ gibt Funktion falsche Berechtigungen
- 30. Volltextindex gibt falsche Ergebnisse zurück
Mischen von inhärent symbolischen Operationen 'Solve' mit einer Reihe von Fließkommawerten in der Eingabe sollte in der Regel vermieden werden. Versuchen Sie dies, ohne "W, u" zu spezifizieren und verwenden Sie "Reduce" anstelle von "Solve" – agentp