feval

Chama uma função dada por handle ou por nome.

Categoria: Language Fundamentals > Data Types

Sintaxe

[y1, ..., yN] = feval(fun, x1, ..., xM)

Chama fun com os argumentos x1 a xM e retorna suas saídas.

Descrição

feval(@f, a, b) equivale a f(a, b). É útil quando a função a executar é escolhida em tempo de execução, por exemplo lida de uma variável ou de um campo de struct. Com um handle, chamar fun(a, b) diretamente costuma ser mais claro.

Argumentos de entrada

fun
Function handle, ou o nome de uma função como texto.
x1, ..., xM
Argumentos repassados a fun.

Argumentos de saída

y1, ..., yN
Saídas de fun. O número pedido é repassado, então [m, i] = feval(@max, v) obtém as duas saídas.

Exemplo

Por nome e por handle

feval('max', [1 5 2])
feval(@(a, b) a + b, 2, 3)
[m, i] = feval(@max, [4 9 2])
Saída
ans = 5
ans = 5
m = 9
i = 2

Veja também

func2str str2func arrayfun cellfun functions