evalin
Auswerten eines MATLAB-Ausdrucks im angegebenen Workspace
Beschreibung
evalin( wertet den von workspace,expression)expression dargestellten MATLAB®-Code mithilfe der Variablen im angegebenen Workspace aus.
Hinweis
Überlegungen zur Sicherheit: Beim Aufrufen von evalin 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
evalin. Suchen Sie zunächst nach zulässigen Operationen. Anschließend, wenn weitere Operationen ermittelt wurden, verbieten Sie die Ausführung.Ersetzen Sie
evalindurch 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 evalin 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 evalin in Betracht.
[ gibt die Ausgaben von output1,...,outputN] = evalin(workspace,expression)expression in den angegebenen Variablen zurück. Damit diese Syntax gültig ist, muss der Ausdruck ebenfalls gültig sein.output1,...,outputN = expression
Beispiele
Eingabeargumente
Ausgabeargumente
Einschränkungen
evalin('caller',expression)findet nur Variablen im Workspace des Callers, keine Funktionen im Caller. Daher können Sieevalinnicht als Handle für eine im Caller definierte Funktion verwenden.evalinsollte nicht rekursiv zur Auswertung eines Ausdrucks verwendet werden, da es ansonsten zu unerwartetem Verhalten kommen können.Wenn Sie
evalinin 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
evalinkeine Ausgabeargumente ein. Beispielsweise wird empfohlen, die Anweisungevalin('base',['output = ',expression])nicht zu verwenden.Geben Sie stattdessen Ausgabeargumente für die Funktion
evalinan, um die Ergebnisse des ausgewerteten Ausdrucks zu speichern. Beispiel:output = evalin('base',expression)
Versionsverlauf
Eingeführt vor R2006a