evalc
Evaluar una expresión de MATLAB y capturar los resultados
Descripción
evalúa el código de MATLAB® representado por results
= evalc(expression
)expression
y captura todo lo que normalmente se escribiría en la ventana de comandos en results
.
Nota
Consideraciones de seguridad: Al llamar a evalc
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
evalc
. Primero, busque las operaciones permitidas. Después, si encuentra otras operaciones, deshabilite la ejecución.Reemplace
evalc
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 evalc
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 evalc
.
[
también devuelve las salidas de results
,output1,...,outputN
] = evalc(expression
)expression
en las variables especificadas.
Ejemplos
Argumentos de entrada
Argumentos de salida
Limitaciones
Cuando se utiliza
evalc
, las funcionesdiary
,more
einput
están desactivadas.Si utiliza
evalc
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
evalc
. Por ejemplo, no se recomienda la instrucciónresult = evalc(['output = ',expression])
.En su lugar, especifique argumentos de salida de la función
evalc
para guardar los resultados de la expresión evaluada. Por ejemplo:[result,output] = evalc(expression)
Capacidades ampliadas
Historial de versiones
Introducido antes de R2006a