Main Content

eval

Valutare un'espressione di MATLAB

Descrizione

esempio

eval(expression) valuta il codice di MATLAB® in expression.

Nota

Considerazioni sulla sicurezza: quando si chiama eval con un input utente non attendibile, convalidare l'input onde evitare l'esecuzione di codice inatteso. Esempi di input utente non attendibili sono i dati provenienti da un utente che non si conosce o da una fonte su cui non si ha alcun controllo. Se risultasse necessario affrontare questa problematica, prendere in considerazione questi approcci:

  • Convalidare gli input su eval. Per prima cosa, cercare le operazioni consentite. Quindi, se si rilevano altre operazioni, disabilitarne l'esecuzione.

  • Sostituire eval con un'alternativa. Per maggiori informazioni, vedere Alternatives to the eval Function.

Considerazioni sulle prestazioni: nella maggior parte dei casi, l'utilizzo della funzione eval è inoltre meno efficiente rispetto all'utilizzo di altre funzioni di MATLAB e costrutti di linguaggio, e il codice risultante può essere più difficile da leggere e da sottoporre a debug. Considerare di utilizzare un'alternativa su eval.

esempio

[output1,...,outputN] = eval(expression) restituisce gli output di expression nelle variabili specificate.

Esempi

comprimi tutto

Utilizzare eval per valutare e tracciare l'espressione magic(5).

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

Mesh plot of Z.

Argomenti di input

comprimi tutto

Espressione da valutare, specificata come vettore di caratteri o scalare di stringa. expression deve essere un'espressione valida di MATLAB e non deve include alcuna parola chiave di MATLAB. Per verificare se una parola è una parola chiave di MATLAB, utilizzare la funzione iskeyword.

Esempio eval('magic(5)')

Argomenti di output

comprimi tutto

Output dall'espressione valutata, restituiti come qualsiasi tipo di dati di MATLAB.

Limiti

  • Se si utilizza eval all'interno di una funzione anonima, di una funzione annidata o di una funzione che contiene una funzione annidata, l'expression valutata non crea alcuna variabile.

Suggerimenti

  • Per consentire al decodificatore di MATLAB di eseguire controlli più rigorosi sul codice ed evitare errori non catturati e altri comportamenti inaspettati, non includere argomenti di output nell'input della funzione eval. Ad esempio, la dichiarazione eval(['output = ',expression]) non è consigliata.

    Specificare, invece, gli argomenti di output sulla funzione eval per memorizzare i risultati dell'espressione valutata. Ad esempio:

      output = eval(expression)

Funzionalità estese

Cronologia versioni

Introduzione prima di R2006a