[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Índice] | [ ? ] |
64.1 Introdução a plotdf | ||
64.2 Definições para plotdf |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Índice] | [ ? ] |
A função plotdf
cria um gráfico do campo de direção de uma
Equação Diferencial Ordinária (EDO) de primeira ordem ou um sistema de duas
EDO's de primeira ordem autônomas.
Uma vez que esse é um pacote adicional, com o objetivo de usá-lo você deve primeiramente
chamá-lo com load("plotdf")
. Plotdf
precisa do Openmath, que é fornecido pelo pacote Xmaxima (Xmaxima,
para além de servir como consola gráfica para o Maxima, é também
o programa que produz os gráficos no formato Openmath).
Para montar um gráfico do campo de direção de uma EDO simples, a EDO deve ser escrita na forma:
dy -- = F(x,y) dx |
e a função F pode ser dada como um argumento para
plotdf
. Se as variáveis independente e dependente não
forem x e y, como na equação acima, então
os nomes dessas duas variáveis deverá indicar-se numa lista que
será o segundo argumento para o comando plotdf (ver os exemplos).
Para montar o gráfico do campo de direção de um conjunto de duas EDO's autônomas, elas devem ser escritas na forma
dx dy -- = G(x,y) -- = F(x,y) dt dt |
e o argumento para plotdf
pode ser uma lista com as duas
funções F e G, nessa
ordem; nomeadamente, a primeira expressão definirá a derivada no
tempo da variável representada no eixo horizontal, e a segunda
expressão será a derivada no tempo da variável representada no eixo
vertical. Essas duas variáveis não têm que ser x e y,
mas se não forem, então o segundo argumento para o comando plotdf
deverá ser uma lista com os nomes dessas variáveis, primeiro a
variável no eixo horizontal, seguida da variável no eixo vertical.
Se somente uma EDO for fornecida, plotdf
irá admitir implicitamente
x=t
, e G(x,y)=1
, transformando a equação não
autônoma em um sistema de duas equações autônomas.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Índice] | [ ? ] |
[
u,v]
, ...opções...)
[
dxdt,dydt]
, ...opções...)
[
dudt,dvdt]
, [
u,v]
, ...opções...)
Mostra um campo de direção em duas dimensões x e y.
dydx, dxdt e dydt são expressões que dependem
de x e y. dvdu, dudt e dvdt são expressões que dependem
de u e v. Adicionalmente para essas duas variáveis, as
expressões podem também depender de um conjunto de parâmetros, com valores
numéricos fornecidos com os parâmetros
opção (a sintaxe de opção é
fornecida abaixo), ou com um intervalo de valores permitidos especificados por meio de uma
opção sliders.
Muitas outras opções podem ser fornecidas dentro do comando, ou selecionadas no
menu. Curvas integrais podem ser obtidas por meio de um clique no gráfico, ou
com a opção trajectory_at
. A direção da integração
pode ser controlada com a opção direction
, que pode ter
valores de forward (adiante), backward(para trás) or both (ambos). O número de
passos de integração é fornecido por meio de nsteps
e o intervalo de tempo
entre eles é escolhido com a opção tstep
. O método de Adams
Moulton é usado para a integração; é também possível alternar para um
método adaptativo de Runge-Kutta de quarta ordem.
Menu da janela do gráfico:
O menu na janela do gráfico tem as seguintes opções: Zoom, irá modificar o comportamento do mouse de forma que seja permitido a você aproximar uma região do gráfico por meio de um clique nessa região como o botão esquerdo. Cada clique próximo a um ponto do gráfico amplia esse gráfico, mantendo o contro no ponto onde você clicou. Mantendo a tecla Shift pressionada enquanto clica, afasta para a ampliação anterior. Para continuar calculando trajetórias quando você clica sobre um ponto, selecione Integrate a partir do menu.
A opção Config no menu pode ser usada para mudar a(s) EDO(s) em uso e para várias outras escolhas. Após as mudanças de configuração serem feitas, a opção do menu Replot estará selecionada, para ativar as novas escolhas. Se um par de coordenadas for fornecido em um campo Trajectory at na caixa de diálogo Config do menu, e a tecla enter fo pressionada, uma nova curva integral será mostrada, adicionalmente com as outras já mostradas. Quando Replot está selecionada, somente a última curva integral fornecida será mostrada.
Mantendo o botão direito do mouse pressionado enquanto o cursor é movido, pode ser usado para arrastar as laterais do gráfico para cima ou para baixo. Parâmetros adicionais tais como o número de passos, o valor inicial de t e os centros de x e y e raios, podem ser escolhidos no menu Config.
Uma cópia do gráfico pode ser gravada como um arquivo postscript, usando a opção Save do menu.
Opções de gráfico:
O comando plotdf
pode incluir muitos comandos, cada comando é
uma lista de dois ou mais itens. O primeiro item é o nome da opção,
e o restante compreende o valor ou valores atribuídos à opção.
As opçõesque são reconhecidas por plotdf
são as seguintes:
plotdf
, a variável
x será diretamente proporcional a t.
O valor padrão é 0.1.
tstep
que será usando para a variável independente, para calcular uma curva
integral.
O valor padrão é 100.
forward
, para fazer a variável independente aumentar
nsteps
vezes, com incrementos de tstep
, backward
, para
fazer a variável independente diminuir, ou both
que irá conduzir a
uma curva integral que amplia nsteps
adiante, e nsteps
para trás. As palavras chave right
e left
podem ser usadas como
sinonimos para forward
e backward
.
O valor padrão é both
.
versus_t
for atribuído qualquer valor
diferente de 0, a segunda janela de gráfico será mostrada. A segunda
janela de gráfico inclui outro menu, semelhante ao menu da janela de gráfico
principal.
O valor padrão é 0.
nome=valor
separados por vírgula.
name=min:max
separados por vírgula.
Exemplos:
(%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], [y,-5,5], [x,-4,16])$ |
O gráfico também mostra a função y = sqrt(x).
(%i4) plotdf([v,-k*z/m], [z,v], [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([w,-g*sin(a)/l - b*w/m/l], [a,w], [parameters,"g=9.8,l=0.5,m=0.3,b=0.05"], [trajectory_at,1.05,-9], [tstep,0.01], [x,-10,2], [y,-14,14], [direction,forward], [nsteps,300], [sliders,"m=0.1:1"], [versus_t,1])$ |
[ << ] | [ >> ] | [Top] | [Contents] | [Índice] | [ ? ] |
This document was generated by Robert Dodier on Maio, 2 2007 using texi2html 1.76.