eval
Auswerten eines MATLAB-Ausdrucks
Beschreibung
eval(
wertet den MATLAB®-Programmcode in expression
)expression
aus.
Hinweis
Überlegungen zur Sicherheit: Beim Aufrufen von eval
mit einer nicht vertrauenswürdigen Benutzereingabe validieren Sie die Eingabe, um eine unerwartete Ausführung des Codes zu vermeiden. Beispiele für nicht vertrauenswürdige Benutzereingaben sind Daten von einem Benutzer, den Sie möglicherweise nicht kennen, oder aus einer Quelle, die Sie nicht kontrollieren können. Wenn Sie sich mit diesem Problem befassen müssen, sollten Sie diese Ansätze in Betracht ziehen:
Validieren Sie Eingaben in
eval
. Suchen Sie zunächst nach zulässigen Operationen. Anschließend, wenn weitere Operationen ermittelt wurden, verbieten Sie die Ausführung.Ersetzen Sie
eval
durch eine Alternative. Weitere Informationen finden Sie unter Alternatives to the eval Function.
Überlegungen zur Leistung: In den meisten Fällen ist die Verwendung der Funktion eval
auch weniger effizient als die Verwendung anderer MATLAB-Funktionen und -Sprachkonstrukte, und der resultierende Code kann schwerer zu lesen und zu debuggen sein. Ziehen Sie eine Alternative zu eval
in Betracht.
[
gibt die Ausgaben von output1,...,outputN
] = eval(expression
)expression
in den angegebenen Variablen zurück.
Beispiele
Eingabeargumente
Ausgabeargumente
Einschränkungen
Wenn Sie
eval
in einer anonymen Funktion, einer verschachtelten Funktion oder in einer Funktion verwenden, die eine verschachtelte Funktion enthält, werden durch den ausgewerteten Ausdruck (expression
) keine Variablen erstellt.
Tipps
Damit der MATLAB-Parser Ihren Code genauer überprüfen kann, um nicht abgefangene Fehler und andere unerwartete Verhaltensweisen zu vermeiden, schließen Sie in die Eingabe für die Funktion
eval
keine Ausgabeargumente ein. Beispielsweise wird empfohlen, die Anweisungeval(['output = ',expression])
nicht zu verwenden.Geben Sie stattdessen Ausgabeargumente für die Funktion
eval
an, um die Ergebnisse des ausgewerteten Ausdrucks zu speichern. Beispiel:output = eval(expression)
Erweiterte Fähigkeiten
Versionsverlauf
Eingeführt vor R2006a