This is maxima.info, produced by makeinfo version 4.7 from maxima.texi. Esse é um Manual do Maxima no formato Texinfo Copyright 1994,2001 William F. Schelter START-INFO-DIR-ENTRY * Maxima: (maxima). Um sistema de álgebra computacional. END-INFO-DIR-ENTRY  File: maxima.info, Node: Funções e Variáveis Definidas para dynamics, Prev: Introdução a dynamics, Up: dynamics 49.2 Funções e Variáveis Definidas para dynamics ================================================ -- Função: chaosgame (`[[', `]'...`[', `]]', `[', `]', , , ...opç~oes...); Implementa o então chamado jogo do caos: o ponto inicial (, ) é colocado no gráfico e então um dos pontos `[', `]'...`[', `]' será selecionado de forma aleatória. O próximo ponto colocado no gráfico será sobre o segmento que vai do ponto anteriormente colocado no gráfico ao ponto escolhido aleatóriamente, à distância do ponto aleatório que será vezes o comprimento daquele segmento. o procedimento é repetido vezes. -- Função: evolution (, , , ..., opç~oes, ...); Desenha pontos em gráfico bidimensional, onde as coordenadas horizontais dos pontos são os inteiros 0, 1, 2, ..., , e as coordenadas verticais são os valores correspondentes da seqüência definida pela relação de recorrência y(n+1) = F(y(n)) com valor inicial igual a . deve ser uma expressão que depende somente de uma variável (no exemplo, essa variável dependente de , mas qualquer outra variável pode ser usada em lugar de ), deve ser um número real e deve ser um inteiro positivo. -- Função: evolution2d (`[', `]', `[', `]', `[', `]', , ..., opç~oes, ...); Mostra, em um gráfico bidimensional, os primeiros pontos na seqüência de pontos definida por meio do sistema dinâmico discreto bidimensional com relações de recorrência u(n+1) = F(u(n), v(n)) v(n+1) = G(u(n), v(n)) Com valores iniciais e . e devem ser duas expressões que dependem somente de duas variáveis e , que devem ser nomeadas explicitamente em uma lista. -- Função: ifs (`[', ..., `]', `[', ..., `]', `[[', `]', ..., `[', `]]', `[', `]', , ..., opç~oes, ...); Implemanta o método de Sistemas de Funções iteradas. Esse método é similar ao método descrito na função `chaosgame', mas em lugar de encolher o segmento do ponto corrente ao ponto escolhido aleatóriamente, as duas componentes daquele segmento irão ser multiplicadas pela matrix 2 por 2 que corresponde ao ponto escolhido aleatóriamente. A escolha aleatória de um dos pontos de atração pode ser feita com uma distribuição de probabilidade não uniforme definida por meio dos pesos ,...,. Esses pesos são fornecidos de forma cumulativa; por exemplo se existem 3 pontos com probabilidades 0.2, 0.5 e 0.3, os pesos , e podem ser 2, 7 e 10. -- Função: julia (, , ......) Cria um arquívo gráfico com a representação do conjunto de Julia para o número complexo ( + i ). Os parâmetros e devem ser reais. o arquivo é criado no diretório corrente ou no diretório do do usuário, usando o formato gráfico XPM. O programa pode demorar muitos segundos para executar e concluir após isso, uma mensagem será mostrada com o nome do arquivo criado. Os pontos que não pertencem ao conjunto de Julia recebem diferentes cores, conforme o número de iterações a função `julia' toma a seqüência iniciando naquele ponto para fora do círculo de convergência de raio 2. O número mácimo de iterações é escolhido com a opção ; após aquele número de iterações, se a seqüência estiver ainda dentro do círculo de convergência, o ponto será desenhado com a cor definica pela opção . Todas as cores usadas para os pontos que não pertencem ao conjunto de Julia irão ter a mesma e o mesmo , mas com diferentes ângulos de matizes distribuídos uniformemente entre e ( + )(1). é uma seqüência facultativa de opções. A lista de opções aceitas é fornecida em uma seção adiante. -- Função: mandelbrot () Cria um arquivo gráfico com a representação do conjunto de Mandelbrot. O arquivo é criado no diretório atual ou no diretório do usuário, usando o formato gráfico XPM. O programa pode demorar muitos segundos para executar e concluir após isso, uma mensagem será mostrada com o nome do arquivo criado. Os pontos que não pertencem ao conjunto de Mandelbrot recebem diferentes cores, conforme o número de iterações a função `mandelbrot' toma a seqüência iniciando naquele ponto para fora do círculo de convergência de raio 2. O número máximo de iterações é escolhido com a opção ; após aquele número de iterações, se a seqüência estiver ainda dentro do círculo de convergência, o ponto será desenhado com a cor definida pela opção . Todas as cores usadas para os pontos que não pertencem ao conjunto de Julia irão ter a mesma e o mesmo , mas com diferentes ângulos de matizes distribuídos uniformemente entre e ( + ). é uma seqüência facultativa de opções. A lista de opções aceitas é fornecida em uma seção adiante. -- Função: orbits (, , , , [, , , ], ...opç~oes...); Desenha o diagrama de órbitas para uma família de sistemas dinâmicos discretos unidimensionais, com um parâmetro ; esse tipo de diagrama é usado para estudar as bifurcações de um sistema discreto unidimensional. A função define uma seqüência com um valor inicial de , como no caso da função `evolution', mas nesse caso a função irá também depender de um parâmetro que receberá valores no intervalo de a com incrementos de . Cada valor usado para o parâmetro é mostrado sobre o eixo horizontal. O eixo vertical irá mostrar os valores de da seqüência ,..., obtida após permitir que a seqüência produza iteracões. -- Função: rk (EDO, var, inicio, domain) -- Função: rk ([EDO1,...,EDOm], [v1,...,vm], [inic1,...,inicm], domain) A primeira forma resolve numericamente uma equação diferencial de primeira ordem, e a segunda formaresolve um sistema de m dessas equações, usando o método de Runge-Kutta de quarta ordem. `var' representa a variável dependente. EDO deve ser uma expressão que dependa somente da variável independente e da variável dependente e defina a derivada da variável dependente com relação à variável independente. A variável independente é especificada com `domain', que deve ser uma lista dde quatro elementos como, por exemplo: [t, 0, 10, 0.1] O primeiro elemento da lista identifica a variável independente, o segundo e o terceiro elementos são os valores inicial e final para para aquela variável, e o último elemento escolhe o incremento que pode ser usado dentro daquele intervalo. Se equações estão sendo resolvidas, podem existir variáveis dependentes , , ..., . Os valores iniciais para aquelas variáveis serão , , ..., . Ainda pode ser apenas uma variável independente definida por `domain', como no caso anterior. , ..., são as expressões que definem as derivadas de cada variável dependente em termos da variável independente. As variáveis que podem aparecer naquelas expressões são a variável independente e quaisquer outras variáveis dependentes. É importante fornecer as derivadas , ..., na lista exatamente na mesma ordem usada para variáveis dependentes; por exemplo, o terceiro elemento na lista irá ser interpretado com a derivada da terceira variável dependente. O programa tentará integrar as equações a partir do valor inicial da variável independente até seu último valor, usando incrementos constantes. Se em algum passo uma das variáveis dependentes recebe um valor absoluto muito grande, a integração será interrompida naquele ponto. O resultado será uma lista com tamtos elementos quantos forem o número de iterações feitas. Cada elemento na lista de resultado é em si mesmo outra lista comh +1 elementos: o valor da variável independente, seguido pelos valores das variáveis dependentes correspondentes àquele ponto. -- Função: staircase (, , , ...opç~oes...); Desenha um diagrama em escada para a seqüência definida pela relação de recorrência y(n+1) = F(y(n)) A interpretação e os valores permitidos dos parâmetros de entrada são os mesmos que para a função `evolution'. Um diagrama em escada consiste de um gráfico da função , juntamente com a linha `=' . Um segmento vertical é desenhado a partir das point (, ) on that line until the point where it intersecções com a função . A partir daquele ponto um segmento horizontal é desenhado até encontrar o ponto (, ) sobre a linha, e o procedimento é repetido vezes até que o ponto (, ) é encontrado. opções Cada opção é uma lista de dois ou mais itens. O primeiro item é o nome da opção, e os restantes compreendem os argumentos para a opção. As opções aceitas pelas funções `evolution', `evolution2d', `staircase', `orbits', `ifs' e `chaosgame' são as mesmas opções para `plot2d'. Adicionalmente para aquelas opções, `orbits' aceita a opção extra que escolhe o número máximo de pontos diferentes que irão ser representados na direção vertical. As seguintes opções são aceitas pelas fuções `julia' e `mandelbrot': * "size" recebe um ou dois argumentos. Se somente um argumento é fornecido, a largura e a altura do arquivo gráfico criado serão iguais a esse valor, em pixels. Se dois argumentos forem fornecidos, eles irão definir a largura e a altura. O valor padrão é 400 pixels para ambos a largura e altura. Se os dois valores não forem iguais, o conjunto aparecerá distorcido. * "levels" define o número máximo de iterações, que também igual ao número de cores usados para pontos que não pertencem ao conjunto. O valor padrão é 12; grandes valoes significam maior quantidade de vezes de processamento. * "huerange" define o intervalo de ângulos de matiz usados para a matiz dos pontos não pertencentes ao conjunto. O valor padrão é 360, que significa que as cores expandir-se-ão em todo o intervalo de matizes. Valores maiores que 360, significarão intervalos repetidos de matizes, e valores negativos podem ser usados para fazer o ângulo de matiz decrescer como o número de iterações também decresce. * "hue" conjuntos de matizes, em graus, da primeira cor usada para o ponto que não pertence ao conjunto. Seu valor padrão é 300 graus, que corresponde ao magenta; os valores para outras cores padrão são 0 para vermelho, 45 para laranja, 60 para amarelo, 120 para verde, 180 para ciano e 240 para o azul. Veja também a opção . * "saturation" escolhe o valor da saturação usada para pontos não pertencentes ao conjunto. A `saturation' deve estar entre 0 e 1. o valor padrão é 0.46. * "value" escolhe o valor das cores usadas para pontos não pertencentes ao conjunto. deve estar entre 0 e 1; Valores maiores, acarretam que as cores sejam mais brilhantes. O valor padrão é 0.96 * "color" deve ser seguido por três parâmetros que definem o matiz, a saturação e o valor, para a cor usada para representar os pontos do conjunto. O valor padrão é 0 para três parâmetos, que correspondem ao preto. Para uma explanação do intervalo de valores permitidos, veja opções , e . * "center" deve ser seguida por dois parâmetros reais, que fornecem as coordenadas, sobre o plano complexo, do ponto no centro da região mostrada. O valor padrão é 0 para ambas as coordenadas (a orígem). * "radius" escolhe o raio do maior círculo dentro da região quadrado que será mostrado. O valor padrão é 2. * "filename" fornece o nome do arquivo onde o gráfico resultante será gravado. A extensão .xpm será adicionada à aquele nome. Se o arquivo já existir, ele será substituído pelo arquivo gerado pela função. Os valores padrão são `julia' para o conjunto de Julia, e `mandelbrot' para o conjunto de Mandelbrot. Exemplos Representação gráfica e diagrama em escada para a seqüência: 2, cos(2), cos(cos(2)),... (%i1) load("dynamics")$ (%i2) evolution(cos(y), 2, 11); (%i3) staircase(cos(y), 1, 11, [y, 0, 1.2]); Se seu sistema for lento, você deverá reduzir o número de iterações nos seguintes exemplos. E se os pontos parecerem muito pequenos no seu monitor, você pode querer tentar um estilo diferente, tal como `['