matlabFunction
Converte uma expressão simbólica em um function handle comum.
Categoria: Symbolic Computations in MATLAB > Conversion Between Symbolic and Numeric
Sintaxe
f = matlabFunction(s)
Function handle cujos argumentos são as variáveis simbólicas de s, em ordem alfabética.
f = matlabFunction(s, 'Vars', v)
Fixa os argumentos e sua ordem com as variáveis em v.
Descrição
A expressão vira código numérico, que pode ser avaliado rapidamente em laços, gráficos ou solvers como fzero e ode45, sem a sobrecarga simbólica. Operadores como *, / e ^ são escritos nas formas elemento a elemento (.*, ./, .^), e o handle funciona com vetores.
Com várias variáveis, a ordem dos argumentos é alfabética, a menos que 'Vars' seja dado. Um vetor ou matriz simbólica gera um handle que devolve um array com a mesma forma.
Argumentos de entrada
s- Expressão ou array de expressões simbólicas.
'Vars'- Vetor ou cell array de variáveis simbólicas que viram as entradas da função.
Argumentos de saída
f- Function handle que avalia a expressão numericamente e aceita arrays elemento a elemento.
Exemplo
Avaliação em um vetor e ordem dos argumentos
syms x y
f = matlabFunction(x^2 + 1);
f(1:3)
g = matlabFunction(x + 2*y, 'Vars', [y x]);
g(1, 10)
func2str(f)
ans = 1×3
2 5 10
ans = 12
ans = '@(x)(x.^2)+1'
Observações
Outras opções da função do MATLAB, como gravar o código em arquivo, não são suportadas.