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