Main Content

evalc

Evaluar una expresión de MATLAB y capturar los resultados

Descripción

ejemplo

results = evalc(expression) evalúa el código de MATLAB® representado por 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.

[results,output1,...,outputN] = evalc(expression) también devuelve las salidas de expression en las variables especificadas.

Ejemplos

contraer todo

Utilice evalc para evaluar la expresión magic(5) y almacene los resultados.

results = evalc('magic(5)')
results =
    
    '
     ans =
     
         17    24     1     8    15
         23     5     7    14    16
          4     6    13    20    22
         10    12    19    21     3
         11    18    25     2     9
     
     '

Argumentos de entrada

contraer todo

Expresión que se desea evaluar, especificada como vector de caracteres o escalar de cadena. expression debe ser una expresión de MATLAB válida y no debe incluir ninguna palabra clave de MATLAB. Para determinar si una palabra es una palabra clave de MATLAB, utilice la función iskeyword.

Ejemplo: evalc('magic(5)')

Argumentos de salida

contraer todo

Salida de la ventana de comandos capturada, devuelta como arreglo de caracteres. Las líneas individuales de la salida capturada están separadas por caracteres \n.

Salidas de la expresión evaluada, devueltas como cualquier tipo de datos de MATLAB.

Limitaciones

  • Cuando se utiliza evalc, las funciones diary, more e input 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, la expression 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ón result = 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