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 porode45, 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