Contenuto principale

eval

Valutare un'espressione di MATLAB

Descrizione

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

Nota

Considerazioni sulla sicurezza: Quando si chiama eval con un input utente non attendibile, validare 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:

  • Validare 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 è meno efficiente rispetto all'utilizzo di altre funzioni di MATLAB e costrutti di linguaggio. Inoltre 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.

esempio

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

espandi tutto

Cronologia versioni

Introduzione prima di R2006a