EQUAÇÕES DIFERENCIAIS
Equações Diferenciais de Primeira Ordem
Equações Diferenciais de Primeira Ordem Simbólicas
O comando desolve calcula a "solução geral" a uma equação de 1ª ou 2ª ordem utilizando o Maxima. Sintaxe:
desolve(EDO, dvar, ics=None, ivar=None, show_method=False, contrib_ode=False)
EDO - expressão da equação diferencial
dvar - variável dependente
ics - (optional) condições iniciais de contorno
ivar - (optional) variável independente
show_method - se verdadeiro, Sage retorna o par [solução, método], onde o method é o método que tem sido usado para obter uma solução (Maxima usa a seguinte ordem de equações de primeira ordem: linear, separável, exata (incluindo exata com fator de integração), homogênea , Bernoulli, generalizada homogênea).
contrib_ode - (optional) Se verdadeiro, desolve
permite resolver Clairaut, Lagrange, Riccati e algumas outras equações. Isso pode levar um longo tempo e é assim desativado por padrão. Ex: Resolver a seguinte equação diferencial
Utilizando show_method = true. Sage retorna o par [solução, método], onde o method é o método que tem sido usado para obter uma solução (Maxima usa a seguinte ordem de equações de primeira ordem: linear, separável, exata (incluindo exata com fator de integração), homogênea , Bernoulli, generalizada homogênea).
Equação diferencial com valores iniciais
Ex: Resolver a seguinte equação diferencial no intervalo [0,3], sendo y(0) = 1
Mais um exemplo
Gráfico da solução da equação diferencial de primeira ordem
Campo de Direções
Ex: Resolver a seguinte equação diferencial no intervalo [0,1], sendo y(0) = 1
Obter o campo de direções vetoriais
Resolver a equação diferencial
Plotar o gráfico com os valores de C0 e C1
Campo com solução exata
Equação diferencial de primeira ordem numérica
Método de Euler
O método de Euler é empregado para encontrar numericamente a solução da EDO na forma , com valor inicial . Os resultados são apresentados em uma tabela, no qual a primeira coluna temos os valores de x incrementados por h e na segunda coluna temos o novo valor de y. Sintaxe
eulers_method(f, x0, y0, h, x1, algorithm='table')
f: função equação diferencial
x0: condição inicial de x
y0: condição inicial de y(x0)
h: incremento do vetor x.
x1: extreo final do vetor x
Ex: Resolver a seguinte equação diferencial no intervalo [0,3], sendo y(0) = 1
Solução exata para y(0.5) = 1.28402541668774
Método de Euler Interativo
Método de Rage-Kutta
O resultado de 'dsolve_rk4' é uma lista contendo os resultados de x, y, y' e assim por diante.Sintaxe
desolve_rk4(de, dvar, ics=None, ivar=None, end_points=None, step=0.1, output='list')
de : Equação diferencial a ser resolvida na forma y' = f (x, y)
dvar : variável dependente (variável simbólica definida)
ics: Condições iniciais na forma [x0 , y(x0)]
ivar: variável independente (declarada como função da variável independente)
end_point Intervalo. Se vazio, é usando end_points=ics[0]+10
step : (Opcional) tamanho do passo de integração, padrão é 0.1
output: (Optional) saída do resultado. Pode ser: 'list', 'plot' ou 'slope_field'. O padrão é 'list'
Solução Numérica . Colocando na forma correta para o rk4 .
Solução exata para y(0.5) = 1.28402541668774
Gráfico da solução
Gráfico com campo de direções
Apesar do manual confirmar que a forma da equação diferencial de primeira ordem deve ser na forma " fvar = f(x,y)", podemos colocar de forma implícita que na grande maioria dos casos será resolvida.
Equações Diferenciais de Segunda Ordem
Equações Diferenciais de Primeira Ordem Simbólicas
Solução por dsolve()
Resolver a equação diferencial:
Solução por Laplace
Equação diferencial de segunda ordem simbólica com valores iniciais
Solução por desolve()
Resolver a equação diferencial: com
Solução por Laplace
Gráfico da solução da equação diferencial de segunda ordem
Campo de direções
Equação diferencial de segunda ordem numérica
Para resolver uma equação de segunda ordem numérica é necessário utilizar o recurso de redução da equação a uma de primeira ordem e dessa forma é criado um sistema de equações diferenciais.
Sistema de equações diferenciais
Sistema de Equações diferenciais Simbólico
ODEs de primeira ordem
ODEs de segunda ordem
Sistema de Equações diferenciais Simbólico com valores iniciais
ODEs de primeira ordem
ODEs de segunda ordem
Sistema de equações diferenciais numérico
ODEs de primeira ordem
Runge Kutta 45
des : [ode1, ode2]
vars : variaveis dependentes
ivar : (optional) should be specified, if there are more variables or if the equation is autonomous and the independent variable is missing
ics : condições iniciais na forma [x0, y01, y02, y03,....]
end_points - the end points of the interval
step : (optional, default: 0.1) the length of the step
Resolver a equação diferencial:
Para resolver essa equação diferencial devemos primeiramente fazer uma substituição de variável para reduzir a equação diferencial para uma de primeira ordem e dessa forma criar um sistema de EDOs. Mudança de variavel:
Assim, derivando as variáveis acima, teremos um sistema de equações na forma:
Resolver o oscilador de Van der Pol escrito na forma:
= y
Sendo uma constante
Solução por desolve_odeint
des : right hand sides of the system
ics : initial conditions
times : a sequence of time points in which the solution must be found
dvars : dependent variables. ATTENTION: the order must be the same as in des, that means: d(dvars[i])/dt=des[i]
ivar : independent variable, optional.
** Solução por Método de Euler**
f, g : equações diferenciais
t0, x0, y0 : condições iniciais
h: fragmento
t1 : passo
ODEs de segunda ordem
%%% FIM EQUAÇÕES DIFERENCIAIS %%%