evalin
Evaluar una expresión de MATLAB en un área de trabajo especificada
Descripción
evalin(
evalúa el código de MATLAB® representado por workspace
,expression
)expression
mediante las variables del área de trabajo especificada.
Nota
Consideraciones de seguridad: Al llamar a evalin
con una entrada del usuario que no es fiable, valide la entrada para evitar que se ejecute código de forma inesperada. Algunos ejemplos de entradas del usuario que no son fiables son los datos de un usuario que desconoce o de una fuente sobre la que no ejerce control alguno. Si necesita abordar este problema, considere estos enfoques:
Valide las entradas de
evalin
. Primero, busque las operaciones permitidas. Después, si encuentra otras operaciones, deshabilite la ejecución.Reemplace
evalin
por una alternativa. Para obtener más información, consulte Alternativas a la función eval.
Consideraciones de rendimiento: En la mayoría de los casos, utilizar la función evalin
también es menos eficiente que utilizar otras funciones y estructuras del lenguaje de MATLAB, y el código resultante puede ser más difícil de leer y depurar. Considere utilizar una alternativa a evalin
.
[
devuelve las salidas de output1,...,outputN
] = evalin(workspace
,expression
)expression
en las variables especificadas. Para que esta sintaxis sea válida, la expresión
también debe ser válida.output1,...,outputN
= expression
Ejemplos
Argumentos de entrada
Argumentos de salida
Limitaciones
evalin('caller',expression)
solo encuentra variables en el área de trabajo desde la que se hace la llamada y no encuentra funciones en la misma. Por este motivo, no se puede utilizarevalin
para crear el identificador de una función que está definida en la llamada.evalin
no debería utilizarse de forma recursiva para evaluar una expresión, y hacerlo puede provocar un comportamiento inesperado.Si utiliza
evalin
en una función anónima, una función anidada o una función que contiene una función anidada, laexpression
evaluada no crea ninguna variable.
Sugerencias
Para permitir al analizador de MATLAB realizar comprobaciones del código más estrictas y evitar errores sin detectar y otros comportamientos inesperados, no incluya argumentos de salida en la entrada de la función
evalin
. Por ejemplo, no se recomienda la instrucciónevalin('base',['output = ',expression])
.En su lugar, especifique argumentos de salida de la función
evalin
para guardar los resultados de la expresión evaluada. Por ejemplo:output = evalin('base',expression)
Historial de versiones
Introducido antes de R2006a