@c Language: Brazilian Portuguese, Encoding: iso-8859-1
@c /Differential.texi/1.11/Sat Jun  2 00:12:38 2007/-ko/
@menu
* Introdução a Equações Diferenciais::
* Funções e Variáveis Definidas para Equações Diferenciais::
Definições para Equações Diferenciais
@end menu

@node Introdução a Equações Diferenciais, Funções e Variáveis Definidas para Equações Diferenciais, Equações Diferenciais, Equações Diferenciais
@section Introdução a Equações Diferenciais

Essa seção descreve as funções disponíves no Maxima para obter
soluções analíticas para alguns tipos específicos de equações diferencias de primeira ordem e de equações diferencias de
segunda ordem. Para obter uma solução numérica para um sistema de equações
diferenciais, veja o pacote adicional @code{dynamics}. Para representações
gráficas em espaço de fase, veja o pacote adicional
@code{plotdf}.

@node Funções e Variáveis Definidas para Equações Diferenciais,  , Introdução a Equações Diferenciais, Equações Diferenciais
@section Funções e Variáveis Definidas para Equações Diferenciais


@deffn {Função} bc2 (@var{solução}, @var{xval1}, @var{yval1}, @var{xval2}, @var{yval2})
Resolve o problema do valor limite para equações diferenciais de segunda ordem. 
Aqui: @var{solução} é uma solução geral para a equação, como encontrado por
@code{ode2}, @var{xval1} especifica o valor da variável independente
em um primeiro ponto, na forma @code{@var{x} = @var{x1}}, e @var{yval1}
fornece o valor da variável dependente naquele ponto, na forma
@code{@var{y} = @var{y1}}. As expressões @var{xval2} e @var{yval2}
fornecem os valores para essas variáveis em um segundo ponto, usando a mesma
forma.

Veja @code{ode2} para um exemplo de sua utilização.

@end deffn


@deffn {Função} desolve (@var{eqn}, @var{x})
@deffnx {Função} desolve ([@var{eqn_1}, ..., @var{eqn_n}], [@var{x_1}, ..., @var{x_n}])
A Função @code{dsolve} resolve sistema de equações diferenciais
lineares ordinárias usando a transformada de Laplace.  Aqui as @var{eqn}'s
são equações diferenciais nas variáveis dependentes @var{x_1}, ...,
@var{x_n}.  A dependência funcional de @var{x_1}, ..., @var{x_n} com relação à
variável independente, por exemplo @var{x}, deve ser explicitamente indicada
nas variáveis e em suas derivadas. Por exemplo, isso pode não ser
caminho correto para definir duas equações:

@example
eqn_1: 'diff(f,x,2) = sin(x) + 'diff(g,x);
eqn_2: 'diff(f,x) + x^2 - f = 2*'diff(g,x,2);
@end example

O caminho correto pode ser:

@example
eqn_1: 'diff(f(x),x,2) = sin(x) + 'diff(g(x),x);
eqn_2: 'diff(f(x),x) + x^2 - f(x) = 2*'diff(g(x),x,2);
@end example

A chamada à função @code{desolve} pode então ser
@example
desolve([eqn_1, eqn_2], [f(x),g(x)]);
@end example

Se condições iniciais em @code{x=0} forem conhecidas, elas podem ser fornecidas antes
chamando @code{desolve} através de @code{atvalue}.

@c ===beg===
@c 'diff(f(x),x)='diff(g(x),x)+sin(x);
@c 'diff(g(x),x,2)='diff(f(x),x)-cos(x);
@c atvalue('diff(g(x),x),x=0,a);
@c atvalue(f(x),x=0,1);
@c desolve([%o1,%o2],[f(x),g(x)]);
@c [%o1,%o2],%o5,diff;
@c ===end===
@example
(%i1) @b{@t{'diff(f(x),x)='diff(g(x),x)+sin(x);}}
                 d           d
(%o1)            -- (f(x)) = -- (g(x)) + sin(x)
                 dx          dx
(%i2) @b{@t{'diff(g(x),x,2)='diff(f(x),x)-cos(x);}}
                  2
                 d            d
(%o2)            --- (g(x)) = -- (f(x)) - cos(x)
                   2          dx
                 dx
(%i3) @b{@t{atvalue('diff(g(x),x),x=0,a);}}
(%o3)                           a
(%i4) @b{@t{atvalue(f(x),x=0,1);}}
(%o4)                           1
(%i5) @b{@t{desolve([%o1,%o2],[f(x),g(x)]);}}
                  x
(%o5) [f(x) = a %e  - a + 1, g(x) = 

                                                x
                                   cos(x) + a %e  - a + g(0) - 1]
(%i6) @b{@t{[%o1,%o2],%o5,diff;}}
             x       x      x                x
(%o6)   [a %e  = a %e , a %e  - cos(x) = a %e  - cos(x)]

@end example

Se @code{desolve} não pode obter uma solução, retorna @code{false}.

@end deffn

@deffn {Função} ic1 (@var{solução}, @var{xval}, @var{yval})
Resolve problemas de valor inicial para equações diferenciais de primeira ordem.
Aqui @var{solução} é uma solução geral para a equação, como encontrado por
@code{ode2}, @var{xval} fornece um valor inicial para a variável
independente na forma @code{@var{x} = @var{x0}}, e @var{yval} fornece o
valor inicial para a variável dependente na forma @code{@var{y} =
@var{y0}}.

Veja @code{ode2} para um exemplo de sua utilização.

@end deffn


@deffn {Função} ic2 (@var{solução}, @var{xval}, @var{yval}, @var{dval})
Resolve problemas de valor inicial para equações diferenciais de segunda ordem.
Aqui @var{solução} é uma solução geral para a equação, como encontrada por
@code{ode2}, @var{xval} fornece o valor inicial para a variável
independente na forma @code{@var{x} = @var{x0}}, @var{yval} fornece o
valor inicial da veriável dependente na forma @code{@var{y} =
@var{y0}}, e @var{dval} fornece o valor inicial para a primeira
derivada da variável dependente com relação à variável
independente, na forma @code{diff(@var{y},@var{x}) = @var{dy0}}
(@code{diff} não precisa receber apóstrofo para evitar avaliação).

Veja @code{ode2} para um exemplo de seu uso.

@end deffn

@deffn {Função} ode2 (@var{eqn}, @var{dvar}, @var{ivar})
A função @code{ode2} resolve uma equação diferencial ordinária (EDO)
de primeira ou de segunda ordem. @code{ode2} usa três argumentos: uma EDO fornecida por
@var{eqn}, a variável dependente @var{dvar}, e a variável
independente @var{ivar}. Quando @code{ode2} encontra uma solução, @code{ode2} retorna ou uma solução explícita ou
uma sulução implícita para a variável dependente. @code{%c} é usado para
representar a constante de integração no caso de equações de primeira ordem,
e @code{%k1} e @code{%k2} as constantes para equações de
segunda ordem. A dependência da variável dependente com relação à variável
independente não tem que ser escrita explicitamente, como no caso de
@code{desolve}, mas a variável independente deve sempre ser fornecida como o
terceiro argumento.

Se @code{ode2} não conseguir obter uma solução por qualquer razaão, @code{ode2} retorna
@code{false}, após talvez imprimir uma mensagem de erro. Os métodos
implementados para equações de primeira ordem na seq@"{u}ência em que eles foram
testados são: linear, separável, exato - talvez requerendo um fator de
integração, homogêneo, equação de Bernoulli, e um método homogêneo
generalizado. Os tipos de equaçõe de segunda ordem que podem ser resolvidos são:
coeficientes constantes, exato, linear homogêneo com coeficientes
não constantes que podem ser transformados em coeficientes constantes, o
tipo de equação de Euler também chamado de equação equi-dimensional, equações resolvíveis pelo método de
variação de parâmetros, e equações as quais são livres ou da
variável independente ou da dependente de modo que elas possam ser reduzidas a
duas equações lineares de primeira ordem para serem resolvidas seq@"{u}êncialmente.

Na resolução de EDO's pelo Maxima, muitas variáveis são escolhidas puramente para
propósitos informativos: @code{método} denota o método de solução
usado (e.g., @code{linear}), @code{intfactor} denota qualquer fator de
integração usado, @code{odeindex} denota o índice para o método de Bernoulli ou
para o método homogêneo generalizado, e @code{yp} denota a
solução particular para a técnica de variação de parâmetros.

Com o objetivo de resolver poblemas de valor inicial (PVI) as funções @code{ic1} e
@code{ic2} estão disponíveis para equações de primeira e de segunda ordem, e para
resolver problemas do valor de segunda ordem associado (BVP em inglês) a função @code{bc2}
pode ser usada.

Exemplo:

@c ===beg===
@c x^2*'diff(y,x) + 3*y*x = sin(x)/x;
@c ode2(%,y,x);
@c ic1(%o2,x=%pi,y=0);
@c 'diff(y,x,2) + y*'diff(y,x)^3 = 0;
@c ode2(%,y,x);
@c ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2));
@c bc2(%o5,x=0,y=1,x=1,y=3);
@c ===end===
@example
(%i1) @b{@t{x^2*'diff(y,x) + 3*y*x = sin(x)/x;}}
                      2 dy           sin(x)
(%o1)                x  -- + 3 x y = ------
                        dx             x
(%i2) @b{@t{ode2(%,y,x);}}
                             %c - cos(x)
(%o2)                    y = -----------
                                  3
                                 x
(%i3) @b{@t{ic1(%o2,x=%pi,y=0);}}
                              cos(x) + 1
(%o3)                   y = - ----------
                                   3
                                  x
(%i4) @b{@t{'diff(y,x,2) + y*'diff(y,x)^3 = 0;}}
                         2
                        d y      dy 3
(%o4)                   --- + y (--)  = 0
                          2      dx
                        dx
(%i5) @b{@t{ode2(%,y,x);}}
                      3
                     y  + 6 %k1 y
(%o5)                ------------ = x + %k2
                          6
(%i6) @b{@t{ratsimp(ic2(%o5,x=0,y=0,'diff(y,x)=2));}}
                             3
                          2 y  - 3 y
(%o6)                   - ---------- = x
                              6
(%i7) @b{@t{bc2(%o5,x=0,y=1,x=1,y=3);}}
                         3
                        y  - 10 y       3
(%o7)                   --------- = x - -
                            6           2

@end example

@end deffn

