Eval in Matlab

Eval in Matlab
In diesem Artikel wird erläutert, wie die Funktion eval () in MATLAB verwendet wird.

Diese Funktion kann ein hervorragendes Werkzeug sein, aber ihre Verwendung sollte für Ausnahmefälle reserviert werden. Wenn möglich, sollten alternative Optionen ausgewählt werden, da ihre Verwendung während der Ausführung mehrere Unannehmlichkeiten und Probleme verursachen kann.

Im Folgenden werfen wir einen detaillierten Blick auf die Argumente der Syntax, Eingabe und Ausgabe und die Daten, die diese Funktion akzeptiert. Sie finden auch eine detaillierte Beschreibung dieser Funktion und ihrer Lösungen mit Code -Snippets und Bildern, in denen erläutert wird, wie sie Schritt für Schritt verwendet werden.

MATLAB EVAL -Funktionssyntax

eval ('exp')

Beschreibung der MATLAB -EV -Funktion

Die Evalfunktion von MATLAB bewertet einen bestimmten Ausdruck in „Exp“ und gibt das Ergebnis in „a“ zurück. Konzeptionell konvertiert die Funktion eval () den Text, den Sie in die Eingabezeichenfolge eingeben, in Code, der Ergebnisse ausführt und zurückgibt. Diese Funktion bietet eine hervorragende Flexibilität, da sie mehrere Ausgabergebnisse ermöglicht und ihre Eingabemargente Ausdrücke und Funktionen aus der MATLAB -Bibliothek und den vom Programmierer erstellten Funktionen bewerten können. Das Eingabeargument für diese Funktion muss eine Zeichenfolge sein, die den expliziten Ausdruck des Ausdrucks enthält, der von einem Zeichenvektor bewertet oder implizit. Wenn wir die Funktion eval () mit Ausdrücken aufrufen, die mehrere Ergebnisse zurückgeben, müssen sie in quadratischen Klammern eingeschlossen und durch Kommas getrennt sein.

Denken Sie bei der Verwendung von Eval () zur Bewertung von Ausdrücken oder Funktionen, die vom Programmierer nicht zuvor angegeben wurden, dass alles, der als Zeichenfolge eingegeben wurde. Eine unsachgemäße Handhabung dieser Eingabe kann zu Fehlern oder Ausnahmen führen.

In den folgenden Beispielen bewerten wir verschiedene Funktionen und Eingabeausdrücke mit der Funktion eval () und implementieren deren Verwendung. Wir zeigen Ihnen auch Problemumgehungen, mit denen Sie die gleichen Ergebnisse erzielen können, ohne diese Funktion zu verwenden, die Problemumgehungen liefert und sehr flexibel ist. Dies kann jedoch auch zu erheblichen Nachteilen führen.

So bewerten Sie einen einfachen Ausdruck mit MATLAB EVAL () -Funktion

Als nächst. Der folgende Ausschnitt bewertet einen Divisionsausdruck von a by b.

a = 23;
B = 5;
eval ('a ./ B' )


In diesem Fall gibt Eval () das Ergebnis der Teilen a durch b zurück.


Im folgenden Snippet bewertet Eval () einen Ausdruck, bei dem eine MATLAB -Bibliotheksfunktion verwendet wird, um ein Array von einzelnen zu erzeugen:

a = 5;
eval ('eins (a)')


Dies sind die einfachsten Möglichkeiten, die Funktion zu verwenden. Wie wir sehen können, wird das String -Zeichen, das wir in die Eingabeargumente senden, in Codezeilen konvertiert, um ein Ergebnis zurückzugeben.


Als nächstes erstellen wir eine Anwendung, die Ausdrücke bewertet und die Ergebnisse auf dem Bildschirm anzeigt.

Anwendung zur Bewertung der Ausdrücke mit der EV -Funktion von MATLAB

In diesem Beispiel werden wir eine einfache Konsolenanwendung erstellen, um Ausdrücke mit EVAL () zu bewerten. Dieses einfache Tool kann die Ausdrücke, die wir bei der Verwendung dieser Funktion als Eingabeargumente angeben, schnell analysieren und bewerten. Diese Anwendung besteht aus vier Codezeilen. Es handelt sich um eine unendliche Schleife. Diese Zeichenfolge wird als Eingabeargument an eval () gesendet.

Im Folgenden finden Sie den Code für diese Anwendung. Erstellen Sie ein Skript, fügen Sie diesen Code ein und drücken Sie den Lauf. Geben Sie dann bei der Eingabeaufforderung den Ausdruck ein, den Sie bewerten möchten, und drücken Sie die Eingabetaste. Denken Sie daran, dass Eval () nur Zeichenfolgen in seinen Eingabeargumenten akzeptiert, sodass Ausdrücke in einzelnen Zitate eingeschlossen sein sollten. Um die Anwendung zu schließen, drücken Sie Strg+C.

während 1
exp_1 = input ('Einen Ausdruck eingeben. Um die Anwendung zu beenden, drücken Sie Strg+C.');
eval (exp_1)
Ende


Wie in der folgenden Abbildung gezeigt, verwendet diese Anwendung die Funktion eval () und gibt das Ergebnis des Ausdrucks zurück, den wir über die Befehlskonsole eingeben:

Risiken für die Verwendung der Funktion eval () in MATLAB

Die Funktion eval () bietet interessante Aspekte in Bezug auf ihre Flexibilität. Trotzdem kann es auch mehrere Nachteile haben, die Fehler, ernsthafte Ausnahmen im System oder fehlerhafte Ergebnisse erzeugen. Daher sollte die Verwendung begrenzt sein. Alternativen, die mehr Sicherheit und Robustheit bieten, sollten stattdessen implementiert werden.

Wie wir in der Beschreibung und früheren Beispielen gesehen haben in ein bereits laufendes Programm. Wir müssen darauf achten, denn wenn wir diese Tür offen lassen, haben wir keine vollständige oder vorbestimmte Kontrolle darüber, was überhaupt in unserem System ausgeführt wird. Darüber hinaus können Ausdrücke häufig mit den Namen bereits definierter Variablen in Konflikt stehen und falsche Ergebnisse oder Systemfehler erzeugen. Diese Fehler können auch aufgrund von Inkompatibilitäten in Datentypen zwischen den Variablen des zu bewertenden Ausdrucks und den im Programm definierten Variablen auftreten.

Alternativen zur MATLAB -Bewertungsfunktion

Es gibt mehrere Alternativen, um die Verwendung der Funktion eval () zu vermeiden. Eine soll eine Funktion erstellen, die den Ausdruck auflöst, anstatt sie mit eval () zu bewerten, anstatt sie zu bewerten,). Dies gibt uns die Möglichkeit, mit bereits voreingestellten Variablen zu arbeiten und auch zu steuern, welche Art von Daten die Variablen dieses Ausdrucks akzeptieren sollten, was Fehler oder Ausnahmen verhindert.

Abschluss

In diesem Artikel haben wir Ihnen gezeigt, wie Sie mit der Funktion eval () die Saiten bewerten und in ausführbare Ausdrücke umwandeln können, die ein Ergebnis zurückgeben. Wir haben Ihnen auch einige der Probleme gezeigt, die sich aus der Verwendung dieser Funktion und den Alternativen, die MATLAB anbietet, auftreten können, um das gleiche Ergebnis mit zuverlässigeren Methoden zu erzielen. Für eine bessere Erklärung haben wir einige praktische Beispiele erstellt, die Fragmente aus dem Bildcode enthalten, die die Implementierung dieser Funktion in der MATLAB -Umgebung zeigen. Wir haben auch eine praktische Konsolenanwendung erstellt, mit der Sie die Ausdrücke testen können, die wir bei der Implementierung dieser Funktion als Eingabeargumente verwenden werden.