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
evaldurch 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
evalin 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
evalkeine Ausgabeargumente ein. Beispielsweise wird empfohlen, die Anweisungeval(['output = ',expression])nicht zu verwenden.Geben Sie stattdessen Ausgabeargumente für die Funktion
evalan, um die Ergebnisse des ausgewerteten Ausdrucks zu speichern. Beispiel:output = eval(expression)
Erweiterte Fähigkeiten
Versionsverlauf
Eingeführt vor R2006a
