ode15s
Solver de ordem variável para equações diferenciais rígidas e sistemas algébricos de índice 1.
Categoria: Mathematics > Numerical Integration and Differential Equations
Sintaxe
[t, y] = ode15s(odefun, tspan, y0)
Integra y' = odefun(t, y) em tspan.
[t, y] = ode15s(odefun, tspan, y0, options)
Aplica também opções de odeset, como 'Mass' ou 'Jacobian'.
sol = ode15s(___)
Retorna uma estrutura para uso com deval.
Descrição
Um problema é rígido quando a solução varia devagar, mas a equação tem modos de decaimento rápido que obrigam métodos explícitos a passos minúsculos. ode15s usa fórmulas implícitas (de diferenciação numérica ou de diferenciação para trás), que permanecem estáveis com passos grandes ao custo de resolver equações a cada passo.
É o primeiro solver a tentar em um problema rígido. Fornecer o Jacobiano com odeset o acelera.
Argumentos de entrada
odefun- Handle
dydt = odefun(t, y)que retorna um vetor coluna. tspan[t0 tf]ou um vetor de instantes de saída.y0- Vetor de valores iniciais.
options- Estrutura de
odeset. Uma matriz de massaM(t)*y' = f(t, y)é dada por'Mass'.
Argumentos de saída
t, y- Instantes e solução, com o mesmo formato de
ode45.
Exemplo
Um decaimento rígido
f = @(t, y) -1000*(y - cos(t));
[t, y] = ode15s(f, [0 1], 0);
fprintf('%.4f\n', y(end))
Saída
0.5411