1. Resumo do Tutorial
Neste Tutorial,
veremos como resolver, simbolicamente, Equações Diferenciais
Ordinárias de Ordens 1 e 2 usando os métodos estudados
tipicamente em um curso introdutório de EDO.
À medida que o curso avançar, outros métodos serão discutidos como, por
exemplo, solução por séries.
2.
Equações Diferenciais Ordinárias de Ordem 1
Vejamos como resolver
EDOs de ordem 1 expressas pela forma geral:
$F(x,y(x),y'(x))=0$
Esquema Geral da Solução no
Sage
a)
definição da variável independente: x=var('x');
b) definição da variável dependente: y=function('y')(x)
c) solução através do comando desolve:
desolve(edo,
variavel, ics=..., ivar=..., show_method=..., contrib_ode=...)
onde os parâmetros do comando desolve
são:
edo:
é a equação diferencial ordinária que se deseja resolver; por exemplo,
a equação $y'=2y+x$ é escrita como diff(y,x)==2*y+x (observe o duplo ==)
variavel:
nome da variável dependente (no exemplo acima, y)
ics:
argumento opcional que permite especificar condições iniciais; para
Ordem 1, forneça uma lista $[x_0,y_0]$; para Ordem 2,
$[x_0,y_0,x_1,y_1]$ ou $[x_0,y_0,y_0']$
ivar:
argumento opcional que permite especificar a variável independente
(isto é essencial quando a EDO depende de parâmetros, ex: $y'=ay+bx+c$
show_method:
argumento opcional (default=False); se especificado como True, o Sage
informa o método de solução utilizado (linear, separable, exact,
homogeneous, etc)
contrib_ode:
argumento opcional (default=False); se for True, o Sage tratará casos
como equações de Ricatti, Lagrange, e outros casos patológicos (não
veremos isto em detalhe).
A seguir, serão fornecidos vários exemplos de resolução simbólica de
EDOs de ordem 1, no Sage.
Equações Lineares
São equações do
tipo: $y'+P(x)y=Q(x)$
Exemplo: $y'+3y=e^x$
x=var('x'); y=function('y')(x)
desolve(diff(y,x)+3*y==exp(x),y,show_method=True)
show(desolve(diff(y,x)+3*y==exp(x),y,show_method=True))
[1/4*(4*_C + e^(4*x))*e^(-3*x), 'linear']
[$\displaystyle \frac{1}{4} \, {\left(4 \, C + e^{\left(4 \, x\right)}\right)} e^{\left(-3 \, x\right)}$, linear]
Equações a Variáveis Separáveis
São equações do
tipo: $P(x)=y'Q(x)$
Exemplo: $yy'=x$
x=var('x'); y=function('y')(x)
fn=desolve(y*diff(y,x)==x,y,show_method=True)
show(fn)
[$\displaystyle \frac{1}{2} \, y\left(x\right)^{2} = \frac{1}{2} \, x^{2} + C$, separable]
Equações Homogêneas
São equações do
tipo: $y'=\frac{P(x,y)}{Q(x,y)}$, onde P e Q são funções
homogêneas de mesmo grau (em um dado intervalo)
Exemplo: $x^2y'=y^2+xy+x^2$
x=var('x'); y=function('y')(x)
fn=desolve(x^2*diff(y,x)==y^2+x*y+x^2,y,show_method=True)
show(fn)
[$\displaystyle C x = e^{\arctan\left(\frac{y\left(x\right)}{x}\right)}$, homogeneous]
Equações Exatas
São equações do
tipo:$\frac{\partial f}{\partial x}dx+\frac{\partial f}{\partial y}dy$, onde f é uma função de 2
variáveis e diferenciável.
Exemplo: $y'=\frac{\cos(y)-2x}{y+x\sin(y)}$, com
$f(x,y)=x^2-x\cos(y)+y^2/2$
x=var('x'); y=function('y')(x)
fn=desolve(diff(y,x)==(cos(y)-2*x)/(y+x*sin(y)),y,show_method=True)
show(fn)
[$\displaystyle x^{2} - x \cos\left(y\left(x\right)\right) + \frac{1}{2} \, y\left(x\right)^{2} = C$, exact]
3.
Alguns Exemplos Mais Elaborados
Exemplo 1: $y'+2y=x^2-2x+3$
Podemos
utilizar outros recursos do Sage em conjunto com o comando de resolução
de EDO; por
exemplo, vamos resolver a EDO acima do mesmo modo que nos exemplos
anteriores, mas utilizaremos o comando expand para
expressar a solução, obtida pelo Sage,
em uma forma mais simples e, a seguir, vamos impor uma condição inicial.
x = var('x'); y = function('y')(x)
DE = diff(y,x)+2*y == x**2-2*x+3
print('a) Resolução da EDO')
y1=desolve(DE, y); show(y1)
print('b) Resolução da EDO e Simplificação da Solução')
y2=desolve(DE, y).expand(); show(y2)
print('c) Método Utilizado')
desolve(DE, y, show_method=True)[1]
print('d) Impõe Condição Inicial X(0)=1')
y3=desolve(DE, y, ics=[0,1]).expand(); show(y3)
a) Resolução da EDO
$\displaystyle \frac{1}{4} \, {\left({\left(2 \, x^{2} - 2 \, x + 1\right)} e^{\left(2 \, x\right)} - 2 \, {\left(2 \, x - 1\right)} e^{\left(2 \, x\right)} + 4 \, C + 6 \, e^{\left(2 \, x\right)}\right)} e^{\left(-2 \, x\right)}$
b) Resolução da EDO e Simplificação da Solução
$\displaystyle \frac{1}{2} \, x^{2} + C e^{\left(-2 \, x\right)} - \frac{3}{2} \, x + \frac{9}{4}$
c) Método Utilizado
'linear'
d) Impõe Condição Inicial X(0)=1
$\displaystyle \frac{1}{2} \, x^{2} - \frac{3}{2} \, x - \frac{5}{4} \, e^{\left(-2 \, x\right)} + \frac{9}{4}$
Exemplo 2:
$y'\log(y)=y\sin(x)$
É
simples verificar que se trata de uma EDO a variáveis separáveis e
veremos que o Sage reconhece esse fato.
Por outro lado, o Sage fornece uma solução em forma implícita; veremos
que, neste caso, podemos utilizar o comando solve
para obter uma expressão explícita para a solução.
Por fim, construiremos os gráficos correspondentes à solução da EDO
para diferentes condições iniciais.
x = var('x'); y = function('y')(x)
desolve(diff(y,x)*log(y) == y*sin(x), y, show_method=True)[1]
ed = desolve(diff(y,x)*log(y) == y*sin(x), y);
show(ed)
sol=solve(ed, y)
show(sol)
'separable'
$\displaystyle \frac{1}{2} \, \log\left(y\left(x\right)\right)^{2} = C - \cos\left(x\right)$
[$\displaystyle y\left(x\right) = e^{\left(-\sqrt{2 \, C - 2 \, \cos\left(x\right)}\right)}$, $\displaystyle y\left(x\right) = e^{\left(\sqrt{2 \, C - 2 \, \cos\left(x\right)}\right)}$]
Agora vamos traçar os gráficos para a primeira solução (o procedimento é análogo, para a segunda); além disso, vamos assumir $c\geq 1$
Para isso, precisamos atribuir valores numéricos à constante C, mas como ter acesso a essa constante ?
Observe que a função $y(x)$ depende tanto da variável dependente $x$ como da constante C. O Sage possui um comando que retorna as variáveis/parâmetros de uma equação
ed.variables()
(_C, x)
Vemos portanto que as variáveis da equação armazenada em $ed$ são _C e x, nessa ordem; ou seja, _C é a variável de índice 0 e x é a variável de índice 1.
Para acessar C, executamos o comando:
c=ed.variables()[0]
show(c)
Como fazemos para atribuir o valor 5 ao parâmetro C? Usamos o comando:
solve(ed, y)[0].substitute(c == 5).rhs()
e^(-sqrt(-2*cos(x) + 10))
No comando acima, executamos os seguintes passos:
a) resolvemos a equação ed obtendo y=f(x)
b) substituimos c=5 na expressão de f(x)
c) selecionamos o lado direito (através de rhs() ) da equação y=f(x) (porque queremos graficar f(x))
Agora, podemos traçar a solução para c=5
plot(solve(ed, y)[0].substitute(c == 2).rhs(), x, -3, 3)
Podemos graficar simultaneamente diferentes soluções particulares, correspondentes a diferentes condições iniciais (valores de C).
Observe o uso de uma estrutura de repetição (for) cuja sintaxe é da linguagem PYTHON (já mencionamos que o Sage usa Python).
A expressão for k in range(1,10,2) significa que o contador k parte do valor 1 e vai até 10 de 2 em 2. Portanto, k=1, 3, 5, 7,9.
P = Graphics()
for k in range(1,10,2):
P += plot(solve(ed, y)[0].substitute(c==1+k/4).rhs(), x, -3, 3)
P.show()
3. Equações
Diferenciais Ordinárias de Ordem 2
Futuramente, veremos
que, quando se resolve determinadas Equações Diferenciais Parciais pelo
Método de Separação de Variáveis naturalmente somos conduzidos ao
problema de resolver uma Equação Diferencial Ordinária de Ordem 2.
Por esse motivo, apresentamos aqui como resolver EDOs de segunda ordem
com o Sage, mas apenas no caso em que as equações são lineares e a
coeficientes constantes.
Exemplo 1:
$y''+3y=x^2-7x+31$
x = var('x'); y = function('y')(x)
DE = diff(y,x,2)+3*y == x^2-7*x+31
sol=desolve(DE, y).expand()
show(sol)
$\displaystyle \frac{1}{3} \, x^{2} + K_{2} \cos\left(\sqrt{3} x\right) + K_{1} \sin\left(\sqrt{3} x\right) - \frac{7}{3} \, x + \frac{91}{9}$
IMPONDO DUAS CONDIÇÕES INICIAIS (para a função e sua derivada no instante t=0): $y(0)=1$ e $y'(0)=2$
solA=desolve(DE, y, ics=[0,1,2]).expand()
show(solA)
$\displaystyle \frac{1}{3} \, x^{2} + \frac{13}{9} \, \sqrt{3} \sin\left(\sqrt{3} x\right) - \frac{7}{3} \, x - \frac{82}{9} \, \cos\left(\sqrt{3} x\right) + \frac{91}{9}$
IMPONDO DUAS CONDIÇÕES DE CONTORNO: $y(0)=1$ e $y(-1)=0$
solB=desolve(DE, y, ics=[0,1,-1,0]).expand()
show(solB)
$\displaystyle \frac{1}{3} \, x^{2} - \frac{7}{3} \, x - \frac{82 \, \cos\left(\sqrt{3}\right) \sin\left(\sqrt{3} x\right)}{9 \, \sin\left(\sqrt{3}\right)} + \frac{115 \, \sin\left(\sqrt{3} x\right)}{9 \, \sin\left(\sqrt{3}\right)} - \frac{82}{9} \, \cos\left(\sqrt{3} x\right) + \frac{91}{9}$
t,L,R,C,E,wd=var('t,L,R,C,E,wd')
assume(L>0)
assume(C>0)
assume(R>0)
assume(E>0)
assume(wd>0)
assume((C*R^2-4*L) > 0)
q=function('q',t)
ed = L*diff(q,t,2)+R*diff(q,t,1)+q/C==E*sin(wd*t)
sol=desolve(ed,q,ivar=t)
show(sol)
forget()
$\displaystyle K_{2} e^{\left(-\frac{1}{2} \, t {\left(\sqrt{\frac{R^{2}}{L^{2}} - \frac{4}{C L}} + \frac{R}{L}\right)}\right)} + K_{1} e^{\left(\frac{1}{2} \, t {\left(\sqrt{\frac{R^{2}}{L^{2}} - \frac{4}{C L}} - \frac{R}{L}\right)}\right)} - \frac{C^{2} E R \mathit{wd} \cos\left(t \mathit{wd}\right) + {\left(C^{2} E L \mathit{wd}^{2} - C E\right)} \sin\left(t \mathit{wd}\right)}{C^{2} L^{2} \mathit{wd}^{4} + {\left(C^{2} R^{2} - 2 \, C L\right)} \mathit{wd}^{2} + 1}$
t,L,R,C,E,wd=var('t,L,R,C,E,wd')
assume(L>0)
assume(C>0)
assume(R>0)
assume(E>0)
assume(wd>0)
q=function('q',t)
ed = L*diff(q,t,2)+q/C==0
sol=desolve(ed,q,ivar=t)
show(sol)
forget()
$\displaystyle K_{2} \cos\left(\frac{t}{\sqrt{C} \sqrt{L}}\right) + K_{1} \sin\left(\frac{t}{\sqrt{C} \sqrt{L}}\right)$
x,a,b,c,d=var('x,a,b,c,d')
assume(a>0)
assume(b>0)
assume(c>0)
assume(d>0)
p=function('p')(x)
ed = ((a*x-b)^2)*diff(p,x,2)+(c*x-d)*diff(p,x,1)==1
sol=desolve(ed,p,ivar=x)
show(sol)
forget()
$\displaystyle K_{2} + \int {\left(K_{1} e^{\left(\frac{b c}{a^{3} x - a^{2} b}\right)} + e^{\left(\frac{b c}{a^{3} x - a^{2} b}\right)} \int \frac{e^{\left(-\frac{b c}{a^{3} x - a^{2} b} + \frac{d}{a^{2} x - a b} + \frac{c \log\left(a x - b\right)}{a^{2}}\right)}}{a^{2} x^{2} - 2 \, a b x + b^{2}}\,{d x}\right)} e^{\left(-\frac{d}{a^{2} x - a b} - \frac{c \log\left(a x - b\right)}{a^{2}}\right)}\,{d x}$
x,a,b,c,d=var('x,a,b,c,d')
assume(a>0)
assume(b>0)
assume(c>0)
assume(d>0)
p=function('p')(x)
ed = ((a*x+b)^2)*diff(p,x,2)+(c*x+d)*diff(p,x,1)==1
sol=desolve(ed,p,ivar=x)
show(sol)
forget()
$\displaystyle K_{2} + \int {\left(K_{1} e^{\left(\frac{d}{a^{2} x + a b}\right)} + e^{\left(\frac{d}{a^{2} x + a b}\right)} \int \frac{e^{\left(\frac{b c}{a^{3} x + a^{2} b} - \frac{d}{a^{2} x + a b} + \frac{c \log\left(a x + b\right)}{a^{2}}\right)}}{a^{2} x^{2} + 2 \, a b x + b^{2}}\,{d x}\right)} e^{\left(-\frac{b c}{a^{3} x + a^{2} b} - \frac{c \log\left(a x + b\right)}{a^{2}}\right)}\,{d x}$