Manual Maxima.docx

Embed Size (px)

Citation preview

Manual do Software MAXIMA

ENGENHARIA ELTRICA TURMA A GRUPO 307/04/2014PATO BRANCOSMARIO

INTRODUO2UM POUCO DE HISTRIA4MAXIMA5Como obter?5POLINMIOS6Simplificando e expandindo polinmios6RESOLVENDO EQUAES8FUNES9LIMITES9Limites Laterais:10GRFICOS11Grficos em duas dimenses11Grficos em trs dimenses12MATRIZES14SISTEMAS DE EQUAES15DVIDAS NOS COMANDOS16

INTRODUOEste um manual introdutrio sobre o programa de clculo simblico Maxima, sucessor direto do lendrio MACSYMA.O objetivo do manual facilitar o acesso a este programa a todas aquelas pessoas que pela primeira vez se interessam por ele

UM POUCO DE HISTRIA...Um software livre , segundo a definio criada pela Free Software Foundation, qualquer programa de computador que pode ser instalado, explorado e distribudo sem qualquer restrio. Um exemplo de um software livre o MAXIMA. O MAXIMA derivado do sistema Macsyma, o lendrio sistema de lgebra computacional desenvolvido entre os anos de 1968 e 1982 no Instituto de Tecnologia de Massachusetts (MIT) como parte do Projeto MAC. O MIT enviou uma cpia do cdigo fonte do Macsyma para o Departamento de Energia em 1982, sendo que essa verso agora conhecida como Macsyma DOE. Essa cpia foi mantida pelo Professor William F. Schelter da Universidade do Texas entre 1982 e 2001, ano do seu falecimento. Em 1998, Schelter obteve permisso do Departamento de Energia para colocar disponvel o cdigo fonte do Macsyma DOE sob a Licena Pblica GNU e em 2000 ele iniciou o projeto MAXIMA no SourceForge para manter e desenvolver o Macsyma DOE, agora chamado MAXIMA. Um sistema de computao algbrica, como o MAXIMA, permite manipular e explorar expresses matemticas de maneira simblica e interativa. O usurio digitaliza na janela do programa algumas frmulas, comandos e o sistema avalia-os devolvendo uma resposta que pode ser manipulada posteriormente, caso seja necessrio. -nos permitido tambm obter solues numricas aproximadas e visualizar graficamente quer dados, quer funes matemticas. O MAXIMA, como se trata de um software do tipo freeware, com funcionalidades similares aos softwares comercializados, no estimula o uso de cpias no autorizadas.

MAXIMAO Maxima um sistema de propsito geral, e clculos de casos especiais tais como a fatorao de nmeros grandes, a manipulao de polinmios extremamente grandes, etc, algumas vezes so melhor desempenhados com sistemas especializados.Para clculos que usem ponto flutuante e matrizes em grande quantidade, o Maxima oferece a possibilidade de gerar cdigo em outras linguagens de programao (notavelmente Fortran) que podem ser executados de modo mais eficiente. O Maxima produz resultados precisos usando seu sistema especial de "floating" e pode trabalhar com funes e dados em duas ou trs dimenses.Ou seja, o Mxima um potente software livre, que permite: I. Efetuar clculos numricos e simblicos; II. Traar grficos bidimensionais e tridimensionais; III. Elaborar implementaes computacionais eficientes e precisas; Como obter? Para descarregar o MAXIMA, para o sistema operativo Windows, utilize o link:

http://sourceforge.net/projects/maxima/files/Aps descarregar o programa, prossiga a instalao atendendo s recomendaes apresentadas. Pode optar-se pelas interfaces: I. WxMaxima; II. xMAXIMA;

Embora, ambos produzam os mesmos resultados, a interface WxMaxima revela-semais interativa com o utilizador do que a xMAXIMA, motivo pelo qual foi escolhida para desenvolver este manual.

POLINMIOS

O Maxima capaz de manipular polinmios e outras expresses simblicas. Para mostrar ao Maxima um polinmio, basta digit-lo:(%i1)x^2-x;

No entanto, ao digitar um polinmio, devemos usar o sinal * para multiplicao (o Maxima no entende que ``2a'' o mesmo que ``2 vezes a'':(%i2)10 * x^3-8 * x^2+5;

Vimos no Captulo anterior como definir variveis. O Maxima pode guardar em uma varivel no apenas nmeros, mas qualquer objeto matemtico -- inclusive polinmios!(%i3)p: x^2*(2*x-3) +3*(x-4+x) +8;

O nome p agora se refere a este polinmio:;(%i4)p;

Simplificando e expandindo polinmios

O Maxima pode simplificar ou expandir polinmios usando a funo expand. Ao expandir, o Maxima:

* Desenvolver produtos e potncias de somas: por exemplo, $a(b+c)$ ser reescrito como $ab+ac$ e $(a+b)^2$ ser expandido para $a^2+2ab+b^2$;* Separar nmeros racionais onde h soma no numerador, reescrevendo como dois nmeros. Por exemplo, $(a+b)/c$ transformado em $a/c + b/c$;* Aplicar a propriedade distributiva em multiplicaes, dando origem a mais termos. Por exemplo, $a(b+c)$ se torna $ab+ac$.(%i5)ex: (a+b)*(a+c);

(%i6)expand(ex);

A funo ratsimp tenta simplificar polinmios. Podemos usar ratsimp para simplificar o polinmio p (que j definimos) usando seu nome:(%i7)ratsimp(p);

A funo ratsimp no alterou a forma do polinmio p. Ela apenas encontrou uma verso simplificada do polinmio e a mostrou na tela. O polinmio p continua guardado na mesma forma que antes:(%i8)p;

A funo factorsum especialmente til quando temos uma expresso muito grande e queremos verificar rapidamente se ela pode ser fatorada:(%i9)expressao: b*d^2*e+a*d^2*e+2*b*c*d*e+2*a*c*d*e+b*c^2*e+a*c^2*e+5*b*d^2+5*a*d^2+10*b*c*d+10*a*c*d+5*b*c^2+5*a*c^2;

(%i10)factorsum(expressao);

RESOLVENDO EQUAES

O Mxima simplesmente nos devolveu a equao, sem resolv-la. A equao um ``objeto matemtico'' para o Mxima, e ele somente o manipular se pedirmos explicitamente. A funo solve encontra solues para equaes e as devolve em uma lista:(%i11)solve(x^2+10*x+8=0,x);

Podemos tambm encontrar os pontos em que duas funes coincidem. No exemplo a seguir daremos ao Maxima dois polinmios, descrevendo uma reta e uma parbola.(%i12)reta: 2*x+3;

(%i13)para: x^2-4;

Tendo dado nomes aos dois polinmios, podemos ento plot-los e visualizar os pontos onde a reta e a parbola se interceptam:(%i14)wxplot2d([reta,para],[x,-4,4]);

FUNES muito simples definir funes no MAXIMA, muito parecido com o modo normal de se escrever, mudando somente o smbolo de atribuio que no caso :=, como pode se observar o exemplo: (%i1) f(x):=x+2; (%o1) f(x) := x + 2 (%i2) f(5); (%o2) 7 Podem-se definir tambm funes de n variveis, respeitando a mesma sintaxe da anterior, somente colocando as variveis entre vrgulas, do seguinte modo: (%i1) g(x,y,z) := x * y + 2 * z; (%o1) g(x, y, z) := x y + 2 z (%i2) g(1,2,3); (%o2) 8 LIMITES Limites so facilmente interpretados pelo MAXIMA e possui uma sintaxe bastante simples, observe o exemplo: limit(funo, varivel, valor que tende a varivel); Aplicao: (%i1) limit( (2*x+1)/(3*x+2), x,inf ); 2 (%o1) - 3 (%i1) limit(((z^(2/3))/(z - sqrt(2 * z))), z, 8); (%o1) 1 (%i2) limit((t^2 + 6*t + 9)/(9 - t^2), t, -3); (%o2) 0

Limites Laterais: Pela esquerda, basta adicionar um quarto parmetro minus: (%i1) limit(sqrt(x * (5-x)), x , 5, minus); (%o1) 0 (%i1) limit(1/x, x, 0, minus); (%o1) minf Obs. : minf = menos infinito.

Pela direita, basta adicionar o quarto parmetro plus: (%i1) limit(sqrt((4*x)/(x-4)), x, 4, plus); (%o1) inf (%i2) limit(1/x, x, 0, plus); (%o2) inf Obs. : inf = infinito.

GRFICOS

Grficos em duas dimenses Os grficos gerados pelo MAXIMA aparecem em um programa anexo ao MAXIMA o gnuplot graph. A funo mais conhecida para traar grficos em duas dimenses a plot2d, que deve ser implementada da seguinte forma: plot2d(funo, [eixo,incio,final]); Exemplos: (%i1) plot2d(sin(x),[x,0,2*%pi]); (%o1) Caso voc no goste da escala sugerida pelo programa, ou de uma srie de outros fatores como cores, a maioria dessas coisas voc pode alterar. Por exemplo, as cores das linhas, basta desativar o sistema de manuseio por mouse, pressionando m, depois disso clique com o boto direito em qualquer parte do grfico e surgir um menu com diversas opes, cores das linhas, tipo de fonte, copiar a imagem do grfico, etc. Se voc deseja realizar maiores operaes com os grficos basta pressionar Espao, e voc acessar a janela principal do gnuplot, com todas as suas opes disponveis.

Grficos em trs dimenses Para implementao de grficos em trs dimenses a funo a ser usada a plot3d, que se assemelha muito com a plot2d. O programa gerador de grficos, o gnuplot, permite que em grficos de trs dimenses, possa ser feito o manuseamento do grfico gerado de acordo com o usurio, bastando apenas clicar em cima do grfico e gir-lo ao seu gosto. Voc pode tambm remanejar a escala de acordo com seu gosto bastando apenas clicar com o boto 3 do mouse, isto , o do meio. plot3d(funo,[eixo1,incio1,fim1],[eixo2,incio2, fim2]); Assim, temos: (%i1) plot3d(x^2-y^2,[x,-2,2],[y,-2,2]); (%o1)

Um outro famoso exemplo o toro: (%i1) expr_1: cos(y)*(10.0+6*cos(x)); expr_2: sin(y)*(10.0+6*cos(x)); expr_3: -6*sin(x); plot3d ([expr_1, expr_2, expr_3], [x, 0, 2*%pi], [y, 0, 2*%pi], [grid, 40, 40]); (%o1) (%i2) (%o2) (6 cos(x) + 10.0) cos(y) (%i3) (%o3) (6 cos(x) + 10.0) sin(y) (%i4) (%o4) - 6 sin(x)

MATRIZESNo Maxima define uma matriz do seguinte modo A: matrix (lista1,lista2,..,listan);(%i19)A:matrix([1,2,3],[3,-1,0],[4,2,1]);

Vamos definir outra matriz:(%i20)B: matrix ([1, -1, 2], [2, 1, 5], [0, 1, 3]);

Podemos calcular a soma A+B e o produto AB:(%i21)A+B; A.B;

Cuidado o comando A*B calcula o produto coordenada a coordenada e no o produto de matrizes:(%i23)A*B;

SISTEMAS DE EQUAESOs sistemas de equaes escrevem-se como listas de equaes. No caso em que o sistema linear, este pode resolver-se atravs do comando solve (ou linsolve).

DVIDAS NOS COMANDOSUse o comando describe para mostrar todos os comandos e variveis contendo uma dada sequncia de caracteres e opcionalmente sua documentao. O ponto de interrogao ? uma abreviatura para describe:

(%i1) ? integ0: (maxima.info)Introduction to Elliptic Functions and Integrals.1: Definitions for Elliptic Integrals.2: Integration.3: Introduction to Integration.4: Definitions for Integration.5: askinteger :Definitions for Simplification.6: integerp :Definitions for Miscellaneous Options.7: integrate :Definitions for Integration.8: integrate_use_rootsof :Definitions for Integration.9: integration_constant_counter :Definitions for Integration.