- Einführung in Matlab vpa
Helfen Sie der Entwicklung der Website und teilen Sie den Artikel mit Freunden!
Einführung in Matlab vpa
Der folgende Artikel bietet einen Überblick über Matlab vpa. Matlab-Arithmetik mit variabler Genauigkeit wird in Berechnungen verwendet, bei denen große Zahlen (als Eingabe oder Ausgabe) involviert sind, und der Hauptfokus auf der Genauigkeit und nicht auf der Geschwindigkeit der Berechnung liegt. Die hohe Genauigkeit dieser langen Zahlen wird durch Algorithmen erreicht, die diese Zahlen für die Berechnung in kleinere Teile gruppieren.
Zum Beispiel hat das mathematische „Pi“ mehr als 31 Billionen Stellen, aber wir verwenden normalerweise 3,14 als Wert. Einige unserer Berechnungen erfordern jedoch möglicherweise mehr Ziffern, und hier ist vpa (Variable Precision Arithmetic) praktisch.
Syntax:
vpa (a)
vpa (a, n)
Erklärung:
- Der vpa (a) wird verwendet, um die Elemente der Eingabe ‚a‘ bis ‚n‘ signifikante Ziffern zu berechnen.
- Standardmäßig ist der Wert signifikanter Stellen 32 für die vpa-Funktion.
Beispiele für Matlab vpa
Die folgenden Beispiele zeigen, wie vpa in Matlab verwendet wird:
Beispiel 1
In diesem Beispiel verwenden wir vpa, um eine nicht terminierende Division durchzuführen. Zuerst berechnen wir das Ergebnis mit der normalen Division in Matlab und verwenden dann vpa, um die Nützlichkeit von vpa klar zu verstehen.
In diesem Beispiel dividieren wir 2 durch 3, was eine nicht terminierende Ausgabe ergibt.
Code ohne Verwendung von vpa:
A1=doppelt (2) / doppelt (3)
(Double als Datentyp verwenden, um sicherzustellen, dass der Dezim alteil in der Ausgabe angezeigt wird)
A1
(Ausgabe anzeigen (ohne vpa))
Eingabe:
Ausgabe:
Code mit vpa:
syms x
(Symbolische Eingabe initialisieren)
InputNumber=sym (2 / 3);
(Deklaration der Eingabe)
A2=vpa (InputNumber)
(Anzeigen der Ausgabe mit vpa)
Eingabe:
Ausgabe:
Wenn wir die 2 obigen Ausgaben vergleichen, werden wir feststellen, dass die erste 4 signifikante Ziffern hat, während die zweite 32 hat, und daher bietet die zweite, die vpa verwendet, mehr Präzision.
Beispiel 2
Als nächstes verwenden wir vpa, um den Wert eines mathematischen Ausdrucks zu berechnen.
In diesem Beispiel fügen wir zwei nicht abschließende Zahlen hinzu und sehen den Unterschied in der Genauigkeit bei der Verwendung von vpa. Auch hier ist die Ausgabe eine nicht terminierende Zahl.
Code ohne Verwendung von vpa:
Eingabe1=doppelt (2 / 3)
(Erste Eingabe deklarieren, Double als Datentyp verwenden, um sicherzustellen, dass der Dezim alteil in der Ausgabe angezeigt wird)
Eingang2=doppelt (pi)
(Deklaration der zweiten Eingabe)
Eingang1 + Eingang2
(Hinzufügen der 2 Eingänge (ohne Verwendung von vpa))
Eingabe:
Ausgabe:
Code mit vpa:
syms x
(Symbolische Eingabe initialisieren)
Eingabe1=sym (2 / 3)
(Deklaration der ersten Eingabe)
Eingang2=sym (pi)
(Deklaration der zweiten Eingabe)
vpa(Eingang1) + vpa(Eingang2)
(Hinzufügen der 2 Eingänge mit vpa)
Eingabe:
Ausgabe:
Wie wir in den beiden obigen Ausgaben sehen können, haben wir 5 signifikante Stellen ohne Verwendung des vpa erh alten, während 32 signifikante Stellen bei Verwendung des vpa erh alten wurden, was zu mehr Präzision führt.
Beispiel 3
Als Nächstes werden wir vpa verwenden, um den Wert eines mathematischen Ausdrucks mit Quadratwurzel zu berechnen.
In diesem Beispiel addieren wir 2 Zahlen mit nicht terminierenden und sich nicht wiederholenden Quadratwurzeln und sehen den Unterschied in der Genauigkeit bei der Verwendung von vpa. Auch hier ist die Ausgabe eine nicht terminierende Zahl.
Code ohne Verwendung von vpa:
Eingabe1=sqrt (2)
(Deklaration der ersten Eingabevariablen und Verwendung der sqrt-Funktion zur Berechnung der Quadratwurzel)
Eingabe2=sqrt (5)
(Deklaration der zweiten Eingabevariablen und Verwendung der sqrt-Funktion zur Berechnung der Quadratwurzel)
Eingang1 + Eingang2
(Hinzufügen der 2 Eingänge (ohne Verwendung von vpa))
Eingabe:
Ausgabe:
Code mit vpa:
syms x
(Symbolische Eingabe initialisieren)
Eingabe1=sqrt (2)
(Erste Eingabevariable deklarieren)
Eingabe2=sqrt (5)
(Deklaration der zweiten Eingabevariablen)
vpa(Eingang1) + vpa(Eingang2)
(Hinzufügen der 2 Eingänge mit vpa)
Eingabe:
Ausgabe:
Wie wir in den beiden oben erh altenen Ausgaben sehen können, haben wir 5 signifikante Stellen ohne Verwendung des vpa erh alten, während 32 signifikante Stellen bei Verwendung des vpa erh alten wurden, was zu mehr Präzision führt.
In den obigen 3 Beispielen haben wir 32 signifikante Ziffern als Ausgabe erh alten; Wir können jedoch bei Bedarf mehr oder weniger als 32 Ziffern erh alten. Dazu übergeben wir die benötigte Stellenzahl als zweites Argument an die vpa-Funktion.
Beispiel 4
In diesem Beispiel lernen wir, wie wir mehr als 32 Ziffern, sagen wir 50, in der Ausgabe erh alten.
Code:
syms x
(Symbolische Eingabe initialisieren)
A=vpa(sqrt(3), 50)
(Erste Eingabe deklarieren und vpa verwenden, um 50 signifikante Ziffern zu erh alten)
B=vpa(3pi, 50)
(Deklaration der zweiten Eingabe)
vpa(A + B, 50)
(Hinzufügen der 2 Eingaben mit vpa und erneutes Übergeben von 50 als zweites Argument, um 50 signifikante Ziffern zu erh alten)
Eingabe:
Ausgabe:
Wie wir in der Ausgabe sehen können, haben wir jetzt wie von uns erwartet 50 signifikante Stellen.
Schlussfolgerung
Das vpa wird in Matlab verwendet, um die Genauigkeit in der Ausgabe zu erhöhen. Wir können die Anzahl signifikanter Stellen in der Ausgabe mit dem Eingabeargument steuern; standardmäßig ist diese Zahl 32. Die Verwendung von vpa kann die Leistung eines Programms beeinträchtigen, da der Fokus auf Präzision liegt.