evalin
Valutare un'espressione di MATLAB nel workspace specificato
Descrizione
evalin( valuta il codice MATLAB® rappresentato da workspace,expression)expression utilizzando le variabili presenti nel workspace specificato.
Nota
Considerazioni sulla sicurezza: Quando si chiama evalin 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
evalin. Per prima cosa, cercare le operazioni consentite. Quindi, se si rilevano altre operazioni, disabilitarne l'esecuzione.Sostituire
evalincon un'alternativa. Per maggiori informazioni, vedere Alternatives to the eval Function.
Considerazioni sulle prestazioni: Nella maggior parte dei casi, l'utilizzo della funzione evalin è 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 evalin.
[ restituisce gli output di output1,...,outputN] = evalin(workspace,expression)expression nelle variabili specificate. Affinché questa sintassi sia valida, anche l'espressione deve essere valida.output1,...,outputN = expression
Esempi
Argomenti di input
Argomenti di output
Limiti
evalin('caller',expression)trova solo le variabili nel workspace del chiamante; non trova le funzioni nel chiamante. Per questo motivo, non è possibile utilizzareevalinper costruire un handle della funzione definita nel chiamante.evalinnon dovrebbe essere utilizzato in modo ricorsivo per valutare un'espressione, poiché tale operazione potrebbe causare un comportamento imprevisto.Se si utilizza
evalinall'interno di una funzione anonima, di una funzione annidata o di una funzione che contiene una funzione annidata, l'expressionvalutata 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
evalin. Ad esempio, la dichiarazioneevalin('base',['output = ',expression])non è consigliata.Specificare, invece, gli argomenti di output sulla funzione
evalinper memorizzare i risultati dell'espressione valutata. Ad esempio:output = evalin('base',expression)
Cronologia versioni
Introduzione prima di R2006a