############################################################################## # FÍSICA COMPUTACIONAL II # # por # # Francisco Carlos Lavarda # ############################################################################## Tutorial de MAXIMA - Introdução =============================== * Em modo texto: - Entrar: maxima - Sair: quit(); * Informações gerais: - Todo comando deve terminar por ponto-e-vírgula; - Se o comando for terminado por $ então o Maxima não mostra o resultado do seu processamento do comando recém digitado; - Informações: :h; - Voltar ao "top level" após algum erro: :q; * Definir a função f(x)=x+2: f(x):=x+2; * Obter o valor de f(3): f(3); * Inicializar a variável VAR1 fazendo-a valer 3: VAR1:3; * Calcular o valor de f(x) em x=VAR1: f(VAR1); * Algumas constantes são pré-definidas e são acessáveis usando-se um % na frente do nome: - Número de Euler: %e - Pi: %pi - Unidade imaginária (raiz de -1): %i * Por vezes, o MAXIMA dá como resposta uma função (no caso de solução de equações diferenciais, por exemplo). Para se avaliar a função em um determinado ponto pode-se usar a função ev. Suponha que você tenha obtido a resposta para uma função y=y(x). Para avaliar esta função em x=0, digite: ev(%,x=0); O símbolo % quer dizer que você se refere à última resposta dada pelo MAXIMA. DICA: ao invés de usar o símbolo % nos comandos, que indica a resposta imediatamente anterior dada pelo programa, você pode usar o símbolo que aparece entre parênteses na frente da resposta que o programa dá, que é um % mais uma letra e um número. A vantagem deste último método é o de poder se referir a uma resposta dada pelo MAXIMA em qualquer instante posterior em que se precisar dela. * Para manter o maior nível de precisão possível. em geral o Maxima retorna suas respostas em formas que não são números reais. Caso você queira que a reposta recém dada seja trasnformada para apresentação com números reais, use o comando: %,numer; Isto apresenta números com muitos algarismos significativos. Isto pode ser mudado se no começo da seção for digitado (para 5 algarismos signifcativos, por exemplo): fpprintprec:5; e depois pode-se usar o comando float(%); ao invés de "%,numer;" * Várias funções são pré-definidas e usa-se da forma usual. Por exemplo, para obter o cosseno de pi: cos(%pi); Usa-se a notação estadounidense para as funções: sen é sin, ln é log. Como o que chamamos de log não é definido no maxima e sua notação estadounidense é log10, é possível definir uma função log10 que faz o papel que conhecemos para o nosso log: log10(x):=log(x)/log(10); * O MAXIMA pode executar operações diversas: sqrt(81); | raiz quadrada expand((x-3)^2); | expande o argumento entre parênteses %,x=3/y; | troca x por 3/y no resultado da expansão feita antes ratsimp (%); | coloca o resultado anterior sob um denominador comum factor(%); | fatoriza o resultado anterior 1/3+1/4; | operações com frações 4! | fatorial trigexpand(sin(u+v)); | simplificação de expressões trigonométricas trigreduce (%); | reduz o resultado anterior a somas de funções trignométricas únicas w: 3 + k*%i; | definição de números complexos realpart (%); | retorna a parte real de w imagpart(w); | retorna a parte imaginária de w * Inicializar valores intervalares para variáveis. Os comandos: assume(A>0); ou assume(A>10); fazem a variável A ser maior que zero (só limita o sinal) ou a variável A ser maior que 10. * Gráficos em 2 e 3 dimensões (somente para a versões gráficas) * Gráficos em 2 dimensões: plot2d(f(x),[x,a,b]); (quando usando o wxmaxima, acrescente as letras wx no início do comando para fazer o gráfico: plot2d vira wxplot2d, por exemplo)(ALC) Plota em 2 dimensões a função f(x) na variável x no intervalo [a,b]. Caso se queira também especificar a faixa de valores das abcissas a serem plotadas no intervalo [c,d]: plot2d(f(x),[x,a,b],[y,c,d]); ATENÇÃO: pelo menos usando o wxMaxima, para executar um comando logo depois de plot2d, a janela do gráfico precisa ser fechada antes, para que o comando surta efeito (nem minimizar serve). Para a versão WxMaxima, existe também a opção wxplot2d, que trabalha de um modo um pouco diferente: o gráfico fica incorporado ao texto da janela do wxMaxima com um pouco menos de recursos de exploração das informações que a plot2d. No caso de se querer plotar mais de uma função no mesmo gráfico, basta listá-las entre colchetes, separadas por vírgulas; para duas funções ficaria: plot2d([f(x),g(x)],[x,a,b]); Para plotar conjuntos de pontos discretos, nomear eixos, criar legendas, etc., veja o Manual de Referência. * Para gráficos em 3 dimensões a função é PLOT3D (consulte a documentação).