Você está na página 1de 27

- TUTORIAL -

MAXIMA 5.9.2
Para Windows

Por Bruno F. Milar de Macdo RA 042290 MA111 Turma A

- INTRODUO
Este tutorial tem como objetivo fornecer informaes para que iniciantes possam aprender a manipular o software MAXIMA, desde a instalao e a primeira impresso at manipulao de funes, assim aqui s sero vistos contedos que apareceram no curso de Clculo I, porm no se intimidem com o software, pois ele tem grandes recursos, sendo capaz de realizar a maior parte dos clculos matemticos. Como no curso, aqui sero abordadas manipulaes do MAXIMA em relao a Limites, Derivadas e Integrais, assim como suas propriedades e representaes grficas em duas e trs dimenses.

- NDICE

O MAXIMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04 Dowload e instalao. . . . . . . . . . . . . . . . . . . . . . . . 05 Iniciando o uso do MAXIMA . . . . . . . . . . . . . . . . . 07 Funes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Limites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 Integrais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Grficos em duas dimenses. . . . . . . . . . . . . . . . . . 22 Grficos em trs dimenses. . . . . . . . . . . . . . . . . . . 25

- O MAXIMA
O MAXIMA um sistema para a manipulao de expresses simblicas e numricas, incluindo diferenciao, integrao, equaes diferenciais ordinrias, sistemas de equaes lineares, vetores, matrizes, entre outros. O MAXIMA produz resultados de preciso elevada, e pode traar funes e dados em duas e trs dimenses. O cdigo de fonte do MAXIMA pode ser compilado em muitos sistemas, incluindo Windows (no caso desse tutorial), Linux, e MacOS X. O MAXIMA um descendente de Macsyma, o sistema legendrio de lgebra do computador desenvolvido nos anos de 1960 no Instituto de Tecnologia de Massachusetts. o nico sistema baseado em Macsyma ainda publicamente disponvel e com uma comunidade de usurios ativa. A filial do MAXIMA de Macsyma foi mantida por William Schelter. Em 1998 obteve a permisso liberar o cdigo fonte sob a GNU General Public License (GPL). Eram seus esforos e habilidade que fizeram a sobrevivncia do MAXIMA possvel. Desde ento um grupo dos usurios e de colaboradores deu forma para trazer o MAXIMA a uma maior audincia. Assim sendo o MAXIMA considerado um software livre, podendo ento ser usado sem necessidade de registro e pagamento, isto , um software gratuito. Um dos poucos nessa rea.

- DOWLOAD E INSTALAO A verso do MAXIMA utilizada neste tutorial a verso 5.9.2 para Windows e seu download pode ser feito atravs do seguinte link:
http://ufpr.dl.sourceforge.net/sourceforge/maxima/maxima-5.9.2.exe

- Tamanho do arquivo: 12.2 MB - Espao necessrio em disco: 60.7 MB Caso se interesse mais pelo software ou deseja ele para outras plataformas, como Linux, acesse o site oficial do MAXIMA: Site Oficial: http://maxima.sourceforge.net Instalando. Aps o download ter sido concludo d um duplo clique no arquivo baixado (maxima-5.9.2), e voc vai se deparar com uma tela desse tipo:

Prossiga atendendo as recomendaes do programa, clicando em Next, no se esquea de verificar o local de instalao, mude se no for de seu agrado. Ao finalizar a instalao a seguinte mensagem surgir determinando que a instalao foi concluda com xito:

Clicando em Finish um arquivo readme.txt ser aberto contendo informaes sobre o MAXIMA,e o prprio tambm ser aberto. Aps o trmino da instalao voc poder acessar o MAXIMA a qualquer hora a partir do menu Iniciar.

- INICIANDO O USO DO MAXIMA


Primeira impresso:

Logo que iniciado o MAXIMA possui na parte inferior um sistema de ajuda, que poder ser bem til, mas no vamos entrar em detalhes nesse tutorial, por isso vamos escond-lo, clicando em Options > Toggle Browser Visibility. Ficando assim apenas com o terminal, onde sero digitadas as operaes.

No terminal, a parte superior acima do (%i1) pode ser desconsiderada, pois se tratam de informaes sobre o programa. O (%i1) representa a posio na memria de cada operao a ser realizada, para recomear a memria basta acessar File > Restart.

Iniciando o trabalho com operaes. Voc sempre digitar a operao a frente do (%ix), esse i no meio significa INPUT, portanto sempre ser entrada de informaes. Logicamente a sada do programa ser representada por (%ox), com o sendo OUTPUT. Depois de digitada a operao, para indicar ao
8

programa que a expresso j pode ser resolvida necessrio digitar um ; (ponto e vrgula) no fim da expresso, por exemplo:
(%i1) 1 + 2; (INPUT representada em azul no MAXIMA). (%o1) 3 (OUTPUT representada em preto no MAXIMA).

As operaes bsicas so facilmente representadas por: Adio (+), Subtrao (-), Multiplicao (*), Diviso (/), Exponenciao(^). Os espaos no so necessrios, apenas auxiliam na leitura. As funes vistas neste tutorial devero ser escritas em letras minsculas assim como seus parmetros, por exemplo:
(%i1) cos (%pi); (%o1) 1

Obs. : como possvel observar o nmero pi deve ser escrito desta forma %pi, como acontece com a maioria das constantes, por exemplo: O nmero e = exp(1) = %e A constante imaginria i = sqrt(-1) = %i
(%i1) (%o1) (%i2) (%o2) (%i3) (%o3) cos(%pi); - 1 sqrt(-1); %i exp(1); %e

Para obter mais informaes sobre determinados comandos, basta voc digitar:
(%i1) describe (assunto a ser pesquisado);

E seguir as instrues do programa, o resultado ser um breve texto sobre o termo procurado, com exibio de funes relacionadas.
9

Outros comandos teis: abs(x) retorna o valor absoluto de x. log(x) logaritmo natural de x. sqrt(x) raiz quadrado de x. Como naturalmente usado a ordem de preferncia das operaes deve ser demonstrada atravs de parnteses ( ).
(%i1) (20+10) * 3; (%o1) 90

Um comando bastante usado o %, que sozinho, representa o ltimo resultado apresentado.


(%i1) (%o1) (%i2) (%o2) 4 * 5; 20 % - 5; 15

O MAXIMA tenta tornar os resultados mais exatos possveis, porm em alguns casos isso no possvel, pois o resultado um tipo flutuante, como por exemplo:
(%i1) log(10); (%o1) log(10)

Porm se mesmo assim voc deseja saber esse valor, basta voc forar o MAXIMA a retornar um ponto flutuante, assim:
(%i1) float (log (10)); (%o1) 2.302585092994046

Para atribuir valores a variveis, basta apenas declarar da seguinte forma:


(%i1) x : 2; (%o1) 2;

10

(%i2) (%o2) (%i3) (%o3)

y : 10; 10; x ^ y; 1024;

Para resolver alguma equao, basta utilizar a funo solve, da seguinte maneira:
(%i1) solve (3*x^26*x-9=0); (%o1) [x = 3, x = - 1]

Esta funo bastante til e pode ser usada de vrias maneiras, como, por exemplo, resolver uma equao de duas incgnitas e deixar em funo de uma delas, caso s exista uma equao.
(%i1) solve(x+y-2=0, y); (%o1) [y = 2 - x]

Caso contrrio se o nmero de equaes for igual ao nmero de incgnitas, a funo solve pode dar conta do trabalho tambm, como por exemplo:
(%i2) solve([x+y+4*z=0, y-z+2*x=8, z+3*x-2*y=4]); 18 26 46 (%o2) [[z = - --, y = --, x = --]] 17 17 17

Acima foram descritos os principais comandos para a manipulao dados no MAXIMA, assim sendo a partir daqui abordaremos assuntos mais especficos.

11

- 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

Pode-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

12

- 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), 2 (%o1) 3 x,inf );

(%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 trigonomtricos:
(%i1) limit(sin(x)/x, x, 0); (%o1) 1 (%i2) limit((1 - cos(3*x))/(2*x^2), x, 0); 9 (%o2) 4

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.

13

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. Como a definio mais rudimentar de derivada provm da aplicao de limites, vamos realizar algumas operaes, como introduo s derivadas. Tendo conhecimento de que : f (x) = lim ( f(x + h) f(x) ) / h x->0 Podemos obter, a derivada de uma funo, utilizando apenas limites, no caso g(x) = f (x), veja:
(%i1) f(x):= 2 * x^2 + 3 * x; 2 (%o1) f(x) := 2 x + 3 x

(%i2) g(x) = limit((f(x + h)- f(x)) / h, h, 0);

(%o2) g(x) = 4 x + 3

Outro exemplo:
(%i1) f(x):=x - 1/x; 1 (%o1) f(x) := x - x

14

(%i2) g(x) = limit((f(x + h)- f(x)) / h, h, 0);

2 x + 1 (%o2) g(x) = -----2 x

Assim, visto como implementar limites no MAXIMA, passaremos ento as derivadas.

15

- DERIVADAS A diferenciao de uma funo pode ser rapidamente obtida pela funo diff :
diff ( funo, varivel );

Aplicao:
(%i1) diff((2*x^2+3*x), x); (%o1) 4 x + 3

(%i2) diff((x - 1/x), x); 1 (%o2) -- + 1 2 x

(%i3) diff(sin(x), x); (%o3) cos(x)

Um exemplo prtico envolvendo mximos e mnimos. Determinar as dimenses do cilindro circular reto de maior volume que pode ser inscrito em um cone circular reto de raio R e altura h: Primeiramente temos que fazer uma visualizao do cilindro inscrito no cone (I), e represent-lo de forma a surgir uma semelhana de tringulos (II).

16

(I) Portanto r/d = R/D. Como:


(%i1) D : sqrt(R^2 + H^2); 2 2 (%o1) sqrt(R + H ) (%i2) d : sqrt((H-h)^2 + r^2); 2 2 (%o2) sqrt((H - h) + r )

(II)

Temos:
r^2/((H-h)^2 + r^2) = R^2/(R^2 + H^2);

Isolando r^2 :
(%i3)eq1:solve((r^2*(R^2+H^2))=R^2*(Hh)^2+r^2*R^2,r^2); 2 2 2 (H - 2 h H + h ) R = --------------------] 2 H

2 (%o3)[r

Conhecido que o volume de um cilindro (%pi*r^2)*h.


(%i4) V(h):= (%pi * R^2 * (H-h)^2 * h)/H^2;

17

2 2 %pi R (H - h) h (%o4) V(h) := ----------------2 H

Para obtermos o volume mximo, devemos derivar V(h), e igualar a zero.


(%i5) eq2:solve(diff(V(h),h)=0,h); H (%o5)[h = H, h = -] 3

Surgiram duas solues para h, porm a partir de um h positivo, a soluo a ser adotada h = H/3.
(%i8) eq1:solve (eq1, r); (H - h) R (H - h) R (%o8) [r = - ---------, r = ---------] H H

Assim substituindo a eq2 em eq1, temos:


(%i9) r : R*(H-H/3)/H; 2 R (%o9) --3

Com isso, podemos concluir que o raio que gera o maior cilindro :
2 R r = --3 (resposta)

Para obter a segunda derivada, ou a n-sima derivada basta adicionar um terceiro parmetro na funo indicando quantas vezes a funo deve ser diferenciada.
diff(funo, varivel, n);

18

Por exemplo: Achar a primeira e a quarta derivada de: f(x) = 2 * ( x ^ 3 ) + 1 / ( x ^ 2 ) + 16 * ( x ^ ( 7 / 2 ) )


(%i1) f(x) := 2*(x^3)+1/(x^2)+16*(x^(7/2)); 3 1 7/2 (%o1) f(x) := 2 x + -- + 16 x 2 x (%i2) diff(f(x), x); 5/2 2 2 (%o2) 56 x + 6 x - -(primeira derivada) 3 x (%i3) diff(f(x), x, 4); 105 120 (%o3) ------- + --(quarta derivada) sqrt(x) 6 x

19

- INTEGRAIS Para integrar uma funo basta utilizar a funo:


integrate(funo, varivel) ;

para integrais indefinidas


integrate(funo, varivel, incio, fim);

para integrais com intervalos definidos. Exemplos: - Integrais indefinidas


(%i1) integrate(x^3*((1 + x^4)^5), x); 4 6 (x + 1) (%o1) --------24

(%i2) integrate(x^2*cos(4*x^3), x); 3 sin(4 x ) (%o2) --------12

- Integrais definidas
(%i1) integrate((1+sqrt(t))^2/sqrt(t), t, 1, 4); 38 (%o1) -3

(%i2) integrate(6 - x^2 -x, x, -3, 2); 125 (%o2) --6

20

No caso de funes descontnuas no intervalo dado, o programa acusar o seguinte erro:

(%i6) integrate(1/x, x, -1, 0); Integral is divergent -- an error. Quitting. debugmode(true);

To

debug

this

try

Nesse caso utilize os recursos de limites para verificar a condio de continuidade.

21

- 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)

22

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. Ou seno, na prpria linha de comando podem ser feitas algumas operaes, veja: - nticks : Nmero de pontos iniciais usado pela rotina adaptativa de montagem do grfico. [nticks, 20] O padro para nticks 10. - adapt_depth: O nmero mximo de quebras usada pela rotina adaptativa de montagem do grfico. [adapt_depth, 5] O padro para adapt_depth 10. - grid: Escolhe o nmero de pontos da grade para usar nas direes x e y para montagem de grficos tridimensionais. [grid, 50, 50] Escolhe a grade para 50 por 50 pontos. A grade padro 30 por 30. Voltando as funes mais bsicas, voc pode colocar duas funes em um mesmo grfico, da seguinte forma:
(%i1) plot2d([sin(x), cos(x)], [x, -2*%pi, 2*%pi]); (%o1) 23

sin(x) cos(x)

0.5

-0.5

-1 -8 -6 -4 -2 0 2 4 6 8

(%i1) plot2d([cos(2*x),x^3],[x,-%pi,%pi]); (%o1)


40 30 20 10 0 -10 -20 -30 -40 -4 -3 -2 -1 0 1 2 3 4 cos(2*x) x^3

24

- 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)

x^2-y^2 4 3 2 1 0 -1 -2 -3 -4

4 3 2 1 0 -1 -2 -3 -4

1.5

0.5

-0.5

-1

-1.5

-2

-1.5

-1

-0.5

0.5

1.5

25

(%i1) 2*%pi]); (%o1)

plot3d(sin(x)*sin(y),

[x,

0,

2*%pi],

[y,

0,

sin(x)*sin(y) 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 1 0.5 0 -0.5 -1

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)

26

Function 6 4 2 0 -2 -4 -6 20

6 4 2 0 -2 -4 -6 10 15

-20

-15

-10

-5

10

15

-20 20

-15

-10

-5

27

Você também pode gostar