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)
Saída
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.

Veja também

subs vpa fzero func2str sym