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

Veja também

ode89 ode45 ode113 odeset