Maxima

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Maxima as PDF for free.

More details

  • Words: 2,848
  • Pages: 27
- TUTORIAL -

MAXIMA 5.9.2 Para Windows

Por Bruno F. Milaré de Macêdo RA 042290 – MA111 – Turma A

1

- INTRODUÇÃO Este tutorial tem como objetivo fornecer informações para que iniciantes possam aprender a manipular o software MAXIMA, desde a instalação e a primeira impressão até manipulação de funções, assim aqui só serão vistos conteúdos que apareceram no curso de Cálculo I, porém não se intimidem com o software, pois ele tem grandes recursos, sendo capaz de realizar a maior parte dos cálculos matemáticos. Como no curso, aqui serão abordadas manipulações do MAXIMA em relação a Limites, Derivadas e Integrais, assim como suas propriedades e representações gráficas em duas e três dimensões.

2

- ÍNDICE

♦ O MAXIMA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 04 ♦ Dowload e instalação. . . . . . . . . . . . . . . . . . . . . . . . 05 ♦ Iniciando o uso do MAXIMA . . . . . . . . . . . . . . . . . 07 ♦ Funções . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 ♦ Limites. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 ♦ Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 ♦ Integrais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 ♦ Gráficos em duas dimensões. . . . . . . . . . . . . . . . . . 22 ♦ Gráficos em três dimensões. . . . . . . . . . . . . . . . . . . 25

3

- O MAXIMA O MAXIMA é um sistema para a manipulação de expressões simbólicas e numéricas, incluindo diferenciação, integração, equações diferenciais ordinárias, sistemas de equações lineares, vetores, matrizes, entre outros. O MAXIMA produz resultados de precisão elevada, e pode traçar funções e dados em duas e três dimensões. O código 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 legendário de álgebra do computador desenvolvido nos anos de 1960 no Instituto de Tecnologia de Massachusetts. É o único sistema baseado em Macsyma ainda publicamente disponível e com uma comunidade de usuários ativa. A filial do MAXIMA de Macsyma foi mantida por William Schelter. Em 1998 obteve a permissão liberar o código fonte sob a GNU General Public License (GPL). Eram seus esforços e habilidade que fizeram a sobrevivência do MAXIMA possível. Desde então um grupo dos usuários e de colaboradores deu forma para trazer o MAXIMA a uma maior audiência. Assim sendo o MAXIMA é considerado um software livre, podendo então ser usado sem necessidade de registro e pagamento, isto é, um software gratuito. Um dos poucos nessa área.

4

- DOWLOAD E INSTALAÇÃO A versão do MAXIMA utilizada neste tutorial é a versão 5.9.2 para Windows e seu download pode ser feito através do seguinte link: http://ufpr.dl.sourceforge.net/sourceforge/maxima/maxima-5.9.2.exe

- Tamanho do arquivo: 12.2 MB - Espaço necessário 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. Após o download ter sido concluído dê um duplo clique no arquivo baixado (maxima-5.9.2), e você vai se deparar com uma tela desse tipo:

5

Prossiga atendendo as recomendações do programa, clicando em Next, não se esqueça de verificar o local de instalação, mude se não for de seu agrado. Ao finalizar a instalação a seguinte mensagem surgirá determinando que a instalação foi concluída com êxito:

Clicando em Finish um arquivo readme.txt será aberto contendo informações sobre o MAXIMA,e o próprio também será aberto. Após o término da instalação você poderá acessar o MAXIMA a qualquer hora a partir do menu Iniciar.

6

- INICIANDO O USO DO MAXIMA Primeira impressão:

7

Logo que iniciado o MAXIMA possui na parte inferior um sistema de ajuda, que poderá ser bem útil, mas não vamos entrar em detalhes nesse tutorial, por isso vamos escondê-lo, clicando em Options > Toggle Browser Visibility. Ficando assim apenas com o terminal, onde serão digitadas as operações.

No terminal, a parte superior acima do ‘(%i1)’ pode ser desconsiderada, pois se tratam de informações sobre o programa. O ‘(%i1)’ representa a posição na memória de cada operação a ser realizada, para recomeçar a memória basta acessar File > Restart.

Iniciando o trabalho com operações. Você sempre digitará a operação a frente do ‘(%ix)’, esse ‘i’ no meio significa INPUT, portanto sempre será entrada de informações. Logicamente a saída do programa será representada por ‘(%ox)’, com ‘o’ sendo OUTPUT. Depois de digitada a operação, para indicar ao 8

programa que a expressão já pode ser resolvida é necessário digitar um ‘; ’(ponto e vírgula) no fim da expressão, por exemplo: (%i1) 1 + 2; (INPUT – representada em azul no MAXIMA). (%o1) 3 (OUTPUT – representada em preto no MAXIMA).

As operações básicas são facilmente representadas por: Adição (+), Subtração (-), Multiplicação (*), Divisão (/), Exponenciação(^). Os espaços não são necessários, apenas auxiliam na leitura. As funções vistas neste tutorial deverão ser escritas em letras minúsculas assim como seus parâmetros, por exemplo: (%i1) cos (%pi); (%o1) –1

Obs. : como é possível observar o número ‘pi’ deve ser escrito desta forma ‘%pi’, como acontece com a maioria das constantes, por exemplo: O número e = exp(1) = %e A constante imaginária i = sqrt(-1) = %i (%i1) (%o1) (%i2) (%o2) (%i3) (%o3)

cos(%pi); - 1 sqrt(-1); %i exp(1); %e

Para obter mais informações sobre determinados comandos, basta você digitar: (%i1) describe (assunto a ser pesquisado);

E seguir as instruções do programa, o resultado será um breve texto sobre o termo procurado, com exibição de funções 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 preferência das operações deve ser demonstrada através de parênteses ‘( )’. (%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 possíveis, porém em alguns casos isso não é possível, pois o resultado é um tipo flutuante, como por exemplo: (%i1) log(10); (%o1) log(10)

Porém se mesmo assim você deseja saber esse valor, basta você forçar o MAXIMA a retornar um ponto flutuante, assim: (%i1) float (log (10)); (%o1) 2.302585092994046

Para atribuir valores a variáveis, 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 equação, basta utilizar a função ‘solve’, da seguinte maneira: (%i1) solve (3*x^2–6*x-9=0); (%o1) [x = 3, x = - 1]

Esta função é bastante útil e pode ser usada de várias maneiras, como, por exemplo, resolver uma equação de duas incógnitas e deixar em função de uma delas, caso só exista uma equação. (%i1) solve(x+y-2=0, y); (%o1) [y = 2 - x]

Caso contrário se o número de equações for igual ao número de incógnitas, a função ‘solve’ pode dar conta do trabalho também, 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 manipulação dados no MAXIMA, assim sendo a partir daqui abordaremos assuntos mais específicos.

11

- FUNÇÕES É muito simples definir funções no MAXIMA, é muito parecido com o modo normal de se escrever, mudando somente o símbolo de atribuição 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 também funções de n variáveis, respeitando a mesma sintaxe da anterior, somente colocando as variáveis entre vírgulas, 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 são facilmente interpretados pelo MAXIMA, e possui uma sintaxe bastante simples, observe o exemplo: limit(função, variável, valor que tende a variável);

Aplicação: (%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 trigonométricos: (%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 parâmetro ‘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 parâmetro ‘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 definição mais rudimentar de derivada provém da aplicação de limites, vamos realizar algumas operações, como introdução às derivadas. Tendo conhecimento de que : f ’(x) = lim ( f(x + h) – f(x) ) / h x->0 Podemos obter, a derivada de uma função, 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 então as derivadas.

15

- DERIVADAS A diferenciação de uma função pode ser rapidamente obtida pela função ‘diff’ : diff ( função, variável );

Aplicação: (%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 prático envolvendo máximos e mínimos. Determinar as dimensões 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 visualização do cilindro inscrito no cone (I), e representá-lo de forma a surgir uma semelhança de triângulos (II).

16

(I)

(II)

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 )

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 (%o3)[r

2 2 2 (H - 2 h H + h ) R = --------------------] 2 H

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 máximo, 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 soluções para h, porém a partir de um h positivo, a solução 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 parâmetro na função indicando quantas vezes a função deve ser diferenciada. diff(função, variável, 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 função basta utilizar a função: integrate(função, variável) ;

para integrais indefinidas integrate(função, variável, início, 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 funções descontínuas 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 condição de continuidade.

21

- GRÁFICOS EM DUAS DIMENSÕES Os gráficos gerados pelo MAXIMA aparecem em um programa anexo ao MAXIMA o gnuplot graph. A função mais conhecida para traçar gráficos em duas dimensões é a ‘plot2d’, que deve ser implementada da seguinte forma: plot2d(função, [eixo,início,final]);

Exemplos: (%i1) plot2d(sin(x),[x,0,2*%pi]); (%o1)

22

Caso você não goste da escala sugerida pelo programa, ou de uma série 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 botão direito em qualquer parte do gráfico e surgirá um menu com diversas opções, cores das linhas, tipo de fonte, copiar a imagem do gráfico, etc. Se você deseja realizar maiores operações com os gráficos basta pressionar ‘Espaço’, e você acessará a janela principal do gnuplot, com todas as suas opções disponíveis. Ou senão, na própria linha de comando podem ser feitas algumas operações, veja: - nticks : Número de pontos iniciais usado pela rotina adaptativa de montagem do gráfico. [nticks, 20] O padrão para nticks é 10. - adapt_depth: O número máximo de quebras usada pela rotina adaptativa de montagem do gráfico. [adapt_depth, 5] O padrão para adapt_depth é 10. - grid: Escolhe o número de pontos da grade para usar nas direções x e y para montagem de gráficos tridimensionais. [grid, 50, 50] Escolhe a grade para 50 por 50 pontos. A grade padrão é 30 por 30. Voltando as funções mais básicas, você pode colocar duas funções em um mesmo gráfico, da seguinte forma: (%i1) plot2d([sin(x), cos(x)], [x, -2*%pi, 2*%pi]); (%o1) 23

1

sin(x) cos(x)

0.5

0

-0.5

-1 -8

-6

-4

-2

0

2

4

6

8

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

cos(2*x) x^3

30 20 10 0 -10 -20 -30 -40 -4

-3

-2

-1

0

1

2

3

4

24

- GRÁFICOS EM TRÊS DIMENSÕES Para implementação de gráficos em três dimensões a função a ser usada é a plot3d, que se assemelha muito com a plot2d. O programa gerador de gráficos, o gnuplot, permite que em gráficos de três dimensões, possa ser feito o manuseamento do gráfico gerado de acordo com o usuário, bastando apenas clicar em cima do gráfico e girá-lo ao seu gosto. Você pode também remanejar a escala de acordo com seu gosto bastando apenas clicar com o botão 3 do mouse, isto é, o do meio. plot3d(função,[eixo1,início1,fim1],[eixo2,início2, 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

2

1.5

1

0.5

0

-0.5

-1

-1.5

-2

-1.5

-1

-0.5

0

0.5

1

1.5

2

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

1 0.5 0 -0.5

0

-1

1 2 3 4 5 6 7 0

1

2

3

4

5

6

7

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

6 4 2 0 -2 -4 -6

-20

-15

-10

-5

0

5

10

15

20-20

-15

-10

-5

0

5

10

15

20

27

Related Documents

Maxima
November 2019 11
Maxima
December 2019 16
Maxima
December 2019 14
Maxima 2
October 2019 9
Maxima Ignacio
October 2019 19