2016-06-10 5 views
1

Ich frage mich, wie man Matlab sagen könnte, dass alle Berechnungen durchgeführt werden müssen und mit 4 Ziffern fortfahren.Matlab: Wie kann man die Genauigkeit der Berechnungen in Matlab auf 4 Ziffern reduzieren?

Format lange oder andere Formate, die ich denke, ist für die Ergebnisse mit spezifischer Präzision, nicht für ihre Wertgenauigkeit.

+0

können Sie bitte ein Beispiel geben? – Umar

+0

@Umar Eigentlich, basierend auf meinen früheren Erfahrungen, wäre es besser, lange Beispiele und Codes, die ich verwende, zu vermeiden, da dies die Frage unnötig kompliziert erscheinen lässt. Und so habe ich immer meine Frage zu vereinfachen oder zumindest eine übersichtliche und vereinfachte Version meines Codes zu geben. Für diesen Fall ist mein tatsächlicher Code lang, und ein vereinfachter Code würde nichts hinzufügen, um den Zuschauern die Antwort zu erleichtern. Ich denke, meine Frage ist allgemeiner als ein bestimmtes Beispiel. :) – Soyol

+0

Ich denke nein. In Ihrem Code können Sie die Genauigkeit jedoch mithilfe der Funktion [Runde] (http://de.mathworks.com/help/matlab/ref/round.html) begrenzen. – Lati

Antwort

1

Verwenden digits: http://www.mathworks.com/help/symbolic/digits.html

digits(d) setzt die aktuelle VPA Genauigkeit d signifikanten Dezimalziffern. Der Wert d muss eine positive ganze Zahl größer als 1 und kleiner als 2^29 + 1 sein.

+0

Vielen Dank für Ihre Antwort, ich habe es überprüft, es scheint, dass Sie diese bestimmte Nummer in "vpa" setzen sollten, um es mit der gegebenen Genauigkeit zu haben. Aber ich habe einige Berechnungen, die ich nicht in vpa machen kann, was soll ich tun? gibt es keine Möglichkeit, die Genauigkeit für alle Berechnungen allgemein zu begrenzen? zum Beispiel: 'Ziffern (2);' ' 1/3' nicht mit zweistelliger Genauigkeit geben Sie unbedingt es – Soyol

+0

in VPA (1/3) setzen sollten Es scheint, es existiert nur in Symbolic Math Toolbox. – Lati

2

Sie möchten die Leistung steigern oder Speicher sparen, indem Sie nicht die doppelte Genauigkeit verwenden? Wenn dies der Fall ist, dann sind die Arithmetik mit variabler Genauigkeit und vpa (Teil der Symbolic Math Toolbox) wahrscheinlich nicht die richtige Wahl. Stattdessen könnten Sie fixed point arithmetic in Betracht ziehen. Diese Art von Mathematik wird hauptsächlich auf Mikrocontrollern und Architekturen mit Speicheradressbreiten von weniger als 32 Bit oder ohne dedizierte Fließkomma-Hardware verwendet. In Matlab benötigen Sie die Fixed Point Designer toolbox. Sie können mehr über die Fähigkeiten here lesen.

Verwandte Themen