Próximo: Definições para plotdf, Anterior: plotdf, Acima: plotdf [Conteúdo][Índice]
A função plotdf
cria um gráfico do campo de
direcções para uma Equação Diferencial
Ordinária (EDO) de primeira ordem, ou para um sistema de duas EDO’s
autónomas, de primeira ordem.
Por tratar-se de um pacote adicional, para poder usá-lo deverá
primeiro carregá-lo com o comando load("plotdf")
. Também é
necessário que Xmaxima esteja instalado, inclusivamente se executar o
Maxima desde outra interface diferente.
Para desenhar o campo de direcções de uma única EDO, essa equação deverá escrever-se na forma seguinte:
dy -- = F(x,y) dx
e a função F será dada como argumento para o
comando plotdf
. A variável independente tem que ser sempre
x e a variável dependente y. A essas duas variáveis
não poderá estar associado nenhum valor numérico.
Para desenhar o campo de direcções de um sistema autónomo de duas EDO’s, as duas equações devem ser escritas na forma seguinte
dx dy -- = G(x,y) -- = F(x,y) dt dt
e o argumento para o comando plotdf
será uma lista com duas
expressões para as funções F e G.
Quando se trabalha com uma única equação,
plotdf
assume implicitamente que x=t
e G(x,y)=1
,
transformando a equação num sistema autónomo com duas
equações.
Anterior: Introdução a plotdf, Acima: plotdf [Conteúdo][Índice]
[
dxdt,dydt]
,...opções...) ¶Desenha um campo de direcções em duas dimensões x e y.
dydx, dxdt e dydt são expressões que dependem de
x e y. Para além dessas duas variáveis, as duas
expressões podem depender de um conjunto de parâmetros, com valores
numéricos que são dados por meio da opção
parameters
(a sintaxe dessa opção explica-se mais
para a frente), ou com um intervalo de possíveis valores
definidos com a opção sliders.
Várias outras opções podem incluirem-se dentro do
comando, ou serem seleccionadas no menú. Clicando num ponto do
gráfico faz com que seja desenhada a curva integral que passa por esse
ponto; o mesmo pode ser feito dando as coordenadas do ponto com a
opção trajectory_at
dentro do comando plotdf. A
direcção de integração pode controlar-se
com a opção direction
, que aceita valores de
forward, backward ou both. O número de passos
realizados na integração numérica controla-se com a
opção nsteps
e o incremento do tempo em cada
passo com a opção tstep
. Usa-se o método de
Adams Moulton para fazer a integração numérica;
também é possível mudar para o método de Runge-Kutta
de quarta ordem com ajuste de passos.
Menú da janela do gráfico:
O menú da janela gráfica inclui as seguintes opções: Zoom, que permite mudar o comportamento do rato, de maneira que servirá para fazer zoom na região do gráfico clicando com o botão esquerdo. Cada clic alarga a imagem mantendo no centro dela o ponto onde se clicou. Mantendo carregada a tecla Shift enquanto se faz clic, faz diminuir o tamanho. Para continuar a desenhar trajectórias com um clic, selecciona-se a opção Integrate do menú.
A opção Config do menú pode usar-se para mudar a(s) EDO(S) e fazer alguns outros ajustes. Após ter feito alguma alteração, deverá usar a opção Replot para activar as novas configurações. Se introduzir duas coordenadas no campo Trajectory at do menú de diálogo do Config, e a seguir carregar na tecla Enter, será acrescentada mais uma curva integral. Se seleccionar a opção Replot, só será apresentada a última curva integral seleccionada.
Mantendo o botão direito carregado enquanto se desloca o cursor, poderá arrastar o gráfico na horizontal e na vertical. Outros parâmetros, por exemplo, o número de passos, o valor inicial de t, as coordenadas do centro e o raio, podem ser alterados no sub-menú da opção Config.
Com a opção Save, pode imprimir-se o gráfico numa impressora Postscript ou gravar uma cópia num ficheiro Postscript. Para optar entre impressão ou gravação em ficheiro, selecciona-se Print Options na janela de diálogo de Config. Após ter preenchido os campos da janela de diálogo de Save, será necessário seleccionar a opção Save do primeiro menú para criar o ficheiro ou imprimir o gráfico.
Opções gráficas:
A função plotdf
admite varias
opções, cada uma sendo uma lista de duas ou mais
elementos. O primeiro elemento é o nome da opção, e o
resto estará formado pelos argumentos para essa opção.
A função plotdf
reconhece as seguintes
opções:
tstep
que se utilizarão na variável independente
para calcular a curva integral.
O valor por omissão é 100.
forward
, para fazer que a variável independente aumente
nsteps
vezes, com incrementos tstep
; backward
, para
fazer que a variável independente diminua; both
, para estender
a curva integral nsteps
passos para a frente e nsteps
passos para atrás. As palavras right
e left
podem serem
usadas como sinónimos de forward
e backward
.
O valor por omissão é both
.
versus_t
qualquer valor diferente de 0,
mostrar-se-á a segunda janela gráfica, que inclui outro menú,
similar ao da janela principal.
O valor por omissão é 0.
nome=valor
separados por vírgulas.
nome=min:max
separados por
vírgulas.
Exemplos:
NOTA: Em alguns casos, dependendo da interface usada para executar o
Maxima, as funções que usam openmath
, em
particular plotdf
, podem desencadear um bug se terminarem em
ponto e vírgula, e não com o símbolo de
dólar. Para evitar problemas, usaremos o símbolo de
dóla nos exemplos a seguir.
(%i1) load("plotdf")$ (%i2) plotdf(exp(-x)+y,[trajectory_at,2,-0.1]);
(%i3) plotdf(x-y^2,[xfun,"sqrt(x);-sqrt(x)"], [trajectory_at,-1,3], [direction,forward], [yradius,5],[xcenter,6]);
O gráfico também mostra a função y = sqrt(x).
(%i4) plotdf([y,-k*x/m],[parameters,"m=2,k=2"], [sliders,"m=1:5"], [trajectory_at,6,0]);
(%i5) plotdf([y,-(k*x + c*y + b*x^3)/m], [parameters,"k=-1,m=1.0,c=0,b=1"], [sliders,"k=-2:2,m=-1:1"],[tstep,0.1]);
(%i6) plotdf([y,-g*sin(x)/l - b*y/m/l], [parameters,"g=9.8,l=0.5,m=0.3,b=0.05"], [trajectory_at,1.05,-9],[tstep,0.01], [xradius,6],[yradius,14], [xcenter,-4],[direction,forward],[nsteps,300], [sliders,"m=0.1:1"], [versus_t,1]);