odeFunction

Converte expressões simbólicas em um function handle numérico para os solvers de EDO.

Categoria: Mathematics > Equation Solving

Sintaxe

f = odeFunction(expr, vars)

Retorna um handle f(t, Y) que avalia o vetor expr para o estado Y.

Descrição

odeFunction faz para EDOs o que matlabFunction faz para expressões comuns: gera uma função numérica em que as variáveis de estado viram elementos de Y. Parâmetros que sejam variáveis simbólicas viram argumentos extras depois de Y.

Argumentos de entrada

expr
Vetor de expressões simbólicas: o lado direito de y' = expr.
vars
Vetor das funções simbólicas que formam o estado, como [x(t); y(t)].

Argumentos de saída

f
Function handle com a assinatura f(t, Y) esperada por ode45, que retorna um vetor coluna.

Exemplo

Lado direito do oscilador harmônico

syms x(t) y(t)
f = odeFunction([y; -x], [x; y]);
f(0, [1; 2])
Saída
ans = 2×1

     2
    -1

Observações

Passar a saída de odeToVectorField (cujo estado se escreve Y[1], Y[2]) não é aceito no MatLivre; passe as funções simbólicas como vars.

Veja também

odeToVectorField daeFunction matlabFunction ode45 massMatrixForm