Main Content

eval

Auswerten eines MATLAB-Ausdrucks

Beschreibung

Beispiel

eval(expression) wertet den MATLAB®-Programmcode in 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.

Beispiel

[output1,...,outputN] = eval(expression) gibt die Ausgaben von expression in den angegebenen Variablen zurück.

Beispiele

alle reduzieren

Verwenden Sie eval, um den Ausdruck magic(5) auszuwerten und zu plotten.

Z = eval('magic(5)');
mesh(Z)

Mesh plot of Z.

Eingabeargumente

alle reduzieren

Der auszuwertende Ausdruck, angegeben als Zeichenvektor oder Zeichenfolgenskalar. expression muss ein gültiger MATLAB-Ausdruck sein und darf keine MATLAB-Schlüsselwörter enthalten. Ob ein Wort ein MATLAB-Schlüsselwort ist, können Sie mithilfe der Funktion iskeyword bestimmen.

Beispiel: eval('magic(5)')

Ausgabeargumente

alle reduzieren

Ausgaben des ausgewerteten Ausdrucks, zurückgegeben als beliebiger MATLAB-Datentyp.

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 Anweisung eval(['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