eval

Avalia código MATLAB guardado em um vetor de caracteres.

Categoria: Programming > Programming Utilities

Sintaxe

eval(expression)

Executa o código de expression como se tivesse sido digitado naquele ponto.

eval(expression, catchExpr)

Executa catchExpr no lugar se expression gerar um erro.

[a, b] = eval(expression)

Captura as saídas de uma expressão que retorna valores.

Descrição

O texto é analisado e executado no workspace de quem chamou, então as variáveis que ele cria ou altera ficam visíveis depois, e resultados de comandos sem ponto e vírgula são exibidos normalmente. Isso torna eval flexível, porém difícil de ler e depurar; indexar com nomes dinâmicos de campos, cell arrays ou function handles costuma ser melhor do que montar nomes de variáveis como texto.

Com dois argumentos, um erro de sintaxe ou de execução no primeiro é capturado e o segundo é avaliado no lugar.

Argumentos de entrada

expression
Texto com um ou mais comandos ou uma expressão.
catchExpr
Texto com código a executar se expression falhar; o erro pode ser lido com lasterr ou MException.last.

Argumentos de saída

a, b
Valores retornados pela expressão avaliada.

Exemplo

Avaliando texto, com alternativa

eval('a = 3 + 4')
eval('bad syntax here(', 'disp(''caught'')')
v = eval('2^5')
Saída
a = 7
caught
v = 32

Veja também

evalc evalin feval str2func run