ode78
Solver de Runge-Kutta de sétima e oitava ordem para equações não rígidas com tolerâncias apertadas.
Categoria: Mathematics > Numerical Integration and Differential Equations
Sintaxe
[t, y] = ode78(odefun, tspan, y0)
Integra y' = odefun(t, y).
[t, y] = ode78(odefun, tspan, y0, options)
Aplica também opções de odeset.
Descrição
Fórmulas de Runge-Kutta de alta ordem dão passos grandes em soluções suaves e são eficientes quando as tolerâncias são rigorosas, por exemplo RelTol perto de 1e-10, como em cálculos de órbitas. O custo por passo é maior que o de ode45, então, para tolerâncias grosseiras, ode45 pode ser mais rápido.
Serve só para problemas não rígidos.
Argumentos de entrada
odefun- Handle
dydt = odefun(t, y). tspan[t0 tf]ou um vetor de instantes de saída.y0- Vetor de valores iniciais.
Argumentos de saída
t, y- Instantes e solução, com o mesmo formato de
ode45.
Exemplo
Tolerância rigorosa
opts = odeset('RelTol', 1e-10, 'AbsTol', 1e-12);
[t, y] = ode78(@(t, y) -y, [0 1], 1, opts);
fprintf('%.8f %.8f\n', y(end), exp(-1))
Saída
0.36787944 0.36787944