Hauptinhalt

evalc

R2026b

Auswerten eines MATLAB-Ausdrucks und Erfassen der Ergebnisse

Beschreibung

results = evalc(expression) wertet den MATLAB®-Code aus, der durch expression dargestellt wird, und erfasst alle Werte, die normalerweise in results in das Befehlsfenster geschrieben würden.

Hinweis

Überlegungen zur Sicherheit: Beim Aufrufen von evalc 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 evalc. Suchen Sie zunächst nach zulässigen Operationen. Anschließend, wenn weitere Operationen ermittelt wurden, verbieten Sie die Ausführung.

  • Ersetzen Sie evalc 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 evalc 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 evalc in Betracht.

Beispiel

[results,output1,...,outputN] = evalc(expression) gibt zusätzlich die Ausgaben von expression in den angegebenen Variablen zurück.

Beispiele

alle reduzieren

Verwenden Sie evalc, um den Ausdruck magic(5) auszuwerten und die Ergebnisse zu speichern.

results = evalc('magic(5)')
results =
    
    '
     ans =
     
         17    24     1     8    15
         23     5     7    14    16
          4     6    13    20    22
         10    12    19    21     3
         11    18    25     2     9
     
     '

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: evalc('magic(5)')

Ausgabeargumente

alle reduzieren

Erfasste Ausgabe im Befehlsfenster, zurückgegeben als Zeichenarray. Die einzelnen Zeilen in der erfassten Ausgabe werden durch \n-Zeichen getrennt.

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

Einschränkungen

  • Bei der Verwendung von evalc sind die Funktionen diary, more und input deaktiviert.

  • Wenn Sie evalc 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 evalc keine Ausgabeargumente ein. Beispielsweise wird empfohlen, die Anweisung result = evalc(['output = ',expression]) nicht zu verwenden.

    Geben Sie stattdessen Ausgabeargumente für die Funktion evalc an, um die Ergebnisse des ausgewerteten Ausdrucks zu speichern. Beispiel:

      [result,output] = evalc(expression)

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a