Maxima Bruna Santos 2009

download Maxima Bruna Santos 2009

of 110

Transcript of Maxima Bruna Santos 2009

  • Introduo ao MAXIMA-2009 Bruna Santos

    1

    Introduo ao Software MAXIMA

    Bruna Santos

    Orientao e Reviso de Zlia da Rocha

    Centro de Matemtica da Universidade do Porto Dezembro 2009

  • Introduo ao MAXIMA-2009 Bruna Santos

    2

  • Introduo ao MAXIMA-2009 Bruna Santos

    3

  • Introduo ao MAXIMA-2009 Bruna Santos

    4

    Autora: Bruna Santos aluna de licenciatura em Matemtica na Faculdade de Cincias da Universidade do Porto e bolseira de integrao na investigao do Centro de Matemtica da Universidade do Porto / Fundao para a Cincia e a Tecnologia.

    Orientao e Reviso: Zlia da Rocha professora no Departamento de Matemtica da Faculdade de

    Cincias da Universidade do Porto desde de 1994, sendo responsvel por disciplinas das reas de Clculo Automtico, Anlise Numrica, Teoria de Aproximao e Polinmios Ortogonais e Aplicaes. Durante estes anos, tem orientado vrios alunos de Prtica Pedaggica de Ensino Supervisionada, de Mestrado e de Doutoramento em Matemtica Aplicada, sendo autora de vrios artigos cientficos, nas reas de Matemtica, Calculo Cientfico e Programao Simblica.

  • Introduo ao MAXIMA-2009 Bruna Santos

    5

    Agradecimentos:

    Este espao dedicado a todos aqueles que deram a sua contribuio para que

    este livro fosse realizado.

    Em primeiro lugar, agradeo Professora Doutora Zlia da Rocha pela forma

    como orientou o meu trabalho. Agradeo por ter acreditado, desde sempre, nas minhas

    capacidades e neste tutorial. As notas dominantes da sua orientao foram

    determinantes para o desenvolvimento deste manual assim como a cordialidade com

    que sempre me recebeu. Estou grata pela liberdade de aco que me permitiu, pois foi

    decisiva para que este trabalho contribusse para o meu desenvolvimento pessoal e

    acadmico.

    Gostaria de agradecer ao Professor Doutor Slvio Gama pelos valiosos

    comentrios sobre Estatstica.

    Um agradecimento especial ao Arlindo Trindade, por ter estado sempre na

    retaguarda, apoiando e incentivando mais este passo no meu percurso.

    Deixo tambm uma palavra de agradecimento Maria Freitas pelo o incentivo

    para escrever mais e melhor.

    A todos os outros que me ajudaram a desenvolver este trabalho e cujo nome no

    foi aqui mencionado deixo aqui o meu agradecimento sincero.

    Por fim, informo que a ltima parte deste trabalho foi realizada durante a

    vigncia de uma Bolsa de Integrao Investigao, financiada pela Fundao para a

    Cincia e a Tecnologia, atravs do Centro de Matemtica da Universidade do Porto,

    instituies s quais agradeo.

    Porto, 21 de Dezembro de 2009

    Bruna Santos

  • Introduo ao MAXIMA-2009 Bruna Santos

    6

    Prefcio: O MAXIMA uma linguagem computacional que permite realizar clculos numricos e simblicos, representaes grficas e efectuar programao, possuindo uma grande variedade de comandos para os mais variados fins em Matemtica e aplicaes. um software de livre acesso, disponvel para os sistemas operativos usuais. Desde o ano lectivo de 2008/2009, que tem vindo a ser adoptado em vrias disciplinas no ensino superior em Portugal, em substituio de outros softwares comercializados do mesmo tipo, como o Maple ou o Mathematica. Dado a escassa bibliografia actualmente existente sobre a utilizao e aplicao deste manipulador algbrico, este livro ser til a quem deseje comear a usar o MAXIMA no mbito da Matemtica em geral e, em particular, das reas de Anlise Numrica e Probabilidade e Estatstica, tanto nas vertentes interactiva como de programao. Este manual, que comeou por ser um pequeno bloco de notas da Bruna Santos, teve origem na realizao, por esta aluna, das unidades computacionais propostas na disciplina de Anlise Numrica II, por mim leccionada, da responsabilidade do Departamento de Matemtica da Faculdade de Cincias da Universidade do Porto, ao qual perteno. Foi, pois, com agrado e naturalidade, que apoiei a iniciativa da Bruna Santos para iniciar e desenvolver este tutorial como material de apoio para quem do MAXIMA necessite. O trabalho apresentado ser objecto de melhoramento e de complementao num futuro que desejamos prximo.

    Porto, 21 de Dezembro de 2009.

    Zlia da Rocha

  • Introduo ao MAXIMA-2009 Bruna Santos

    7

    ndice Geral: Autora:..........................................................................................................................4 Agradecimentos: ...........................................................................................................5 Prefcio:........................................................................................................................6 ndice Geral: .................................................................................................................7 Um pouco de histria .............................................................................................. 11 Capitulo 1. .................................................................................................................. 12 Mos obra ................................................................................................................ 12

    A natureza est escrita em linguagem matemtica. -Galileu.............................. 12 1.1 Primeiro contacto com o MAXIMA .................................................................. 14 1.2 As janelas de interface com o utilizador............................................................. 14 1.3 Constantes Matemticas: ................................................................................... 15 1.4 Manipulao de Variveis:........................................................................... 16 1.5 Aprendendo a Guardar................................................................................. 17 1.6 Operadores e Funes Matemticas ............................................................. 18

    1.6.1 Operadores Aritmticos: ...................................................................... 18 1.6.2 Operadores Relacionais:....................................................................... 19 1.6.3 Funes Matemticas Elementares:...................................................... 19 1.6.4 Funes Trigonomtricas: .................................................................... 19

    1.7 Nmeros Decimais e Complexos ................................................................. 20 1.7.1 Nmeros Decimais............................................................................... 20 1.7.2 Nmeros Complexos............................................................................ 21

    Capitulo 2. .................................................................................................................. 22 Listas, Matrizes e suas Operaes ............................................................................... 22

    A natureza est escrita em linguagem matemtica. Galileu............................. 22 2.1 Listas........................................................................................................... 24 2.2 Quadro Resumo: Comandos sobre Listas ..................................................... 27 2.3 Matrizes....................................................................................................... 28 2.3.1 Operaes Bsicas com Matrizes ............................................................. 28 2.3.2 Acrescentando e Eliminando Elementos: ................................................. 30 2.3.3 Elementos de lgebra Linear ................................................................... 31 2.4 Operaes Bsicas com Matrizes: ................................................................ 34 2.5 Quadro Resumo: Comandos sobre Matrizes................................................. 35

    Capitulo 3. .................................................................................................................. 36 Equaes, Sistemas de Equaes e Equaes Diferenciais........................................... 36

    3. Equaes, Sistemas de Equaes e Equaes Diferenciais ............................... 38 3.1 Equaes: .......................................................................................................... 38 3.2 Sistemas de Equaes .................................................................................. 40 3.3 Equaes Diferenciais Ordinrias ................................................................ 40 3.4 Quadro Resumo: Comandos do Capitulo 3................................................ 43

    Capitulo 4. .................................................................................................................. 45 Grficos ...................................................................................................................... 45

    O livro da natureza foi escrito exclusivamente com figuras e smbolos matemticos. - Galileu ....................................................................................... 45

    4.1 Introduo aos Grficos..................................................................................... 47 4.1.1 Grficos de Funes de uma Varivel Coordenadas Cartesianas .................. 47 4.1.2 Grficos de Dados Discretos........................................................................... 49 4.1.3 Grficos de Funes Paramtricas .................................................................. 52

  • Introduo ao MAXIMA-2009 Bruna Santos

    8

    4.1.4 Grficos em Coordenadas Polares................................................................... 53 4.1.5 Grficos de Funes Implcitas....................................................................... 54 4.2 Grficos Tridimensionais................................................................................... 55 4.2 Quadro Resumo: Opes grficas: ..................................................................... 57

    Capitulo 5. .................................................................................................................. 58 Clculo Diferencial e Integral...................................................................................... 58

    5.1 Operaes com Polinmios: .............................................................................. 60 5.2 Limites e Continuidade:..................................................................................... 60 5.3 Derivadas: ......................................................................................................... 62 5.4 Primitiva e Integrais: ......................................................................................... 66 5.5 Quadro Resumo: Comandos de Calculo Integral e Diferencial........................... 69 5.6 Quadro Resumo: Comandos sobre Limites ........................................................ 70

    Capitulo 6. .................................................................................................................. 71 Estatstica Descritiva e Probabilidades ........................................................................ 71

    6.1 Distribuies Discretas ................................................................................ 73 6.1.1 Distribuio Binomial.............................................................................. 73 6.1.2 Distribuio de Poisson............................................................................ 75 6.2 Distribuies Contnuas ............................................................................... 76

    6.2.1 Distribuio Exponencial ..................................................................... 76 6.2.2 Distribuio Normal............................................................................. 77

    6.3 Mtodo de Monte Carlo............................................................................... 82 6.4 Quadro Resumo: Comandos de Probabilidade e Estatstica Descritiva ............... 83 6.4.1 Distribuies Continuas e Discretas................................................................ 83 6.4.2 Anlise de Dados:........................................................................................... 84 6.3.3 Representao Grfica de Dados:.................................................................... 85

    Capitulo 7. .................................................................................................................. 86 7.1 Programao no MAXIMA ............................................................................... 88 7.1.1 Instruo if: ............................................................................................. 88 7.1.2 Instruo: for...end:.................................................................................. 89 7.1.3 Instruo block: ....................................................................................... 89 7.2 Quadro Resumo: Instrues de Programao ............................................... 91

    Capitulo 8. .................................................................................................................. 92 8.1 Srie de Taylor ............................................................................................ 94 8.2 Interpolao Polinomial..................................................................................... 95 8.3 Regresso linear .......................................................................................... 97 8.4 Resoluo Numrica de Equaes No Lineares Mtodo de Newton ........ 98 8.5 Polinmios Ortogonais Legrendre........................................................... 100 8.6 Srie de Fourier ......................................................................................... 101 8.7 Equaes Diferenciais Ordinrias: Mtodo de Runge-Kutta....................... 103 8.8 Quadro Resumo: Comandos de Anlise Numrica ..................................... 105 8.9 Pacotes (Packages) utilizados em Anlise Numrica............................... 105 Bibliografia:.......................................................................................................... 108

    ndice de ilustraes:................................................................................................. 109 Contacto:............................................................................................................... 110

  • Introduo ao MAXIMA-2009 Bruna Santos

    9

  • Introduo ao MAXIMA-2009 Bruna Santos

    10

    Ao meu pai

    Preciso acreditar que algo extraordinrio possvel.

  • Introduo ao MAXIMA-2009 Bruna Santos

    11

    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 Projecto 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 projecto 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 interactiva. 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.

  • Introduo ao MAXIMA-2009 Bruna Santos

    12

    Capitulo 1.

    Mos obra

    A natureza est escrita em linguagem matemtica. -Galileu

  • Introduo ao MAXIMA-2009 Bruna Santos

    13

    Os objectivos deste captulo introdutrio so: Adquirir uma ideia geral do que o MAXIMA e como instala-lo; Introduzir comandos e obter respostas na janela; Formatar nmeros e expresses; Familiarizar-se com algumas constantes, operadores e comandos bsicos; Como guardar o trabalho no ambiente do WxMaxima.

  • Introduo ao MAXIMA-2009 Bruna Santos

    14

    1.1 Primeiro contacto com o MAXIMA

    O Mxima um potente software livre, que permite: I. Efectuar clculos numricos e simblicos;

    II. Traar grficos bidimensionais e tridimensionais; III. Elaborar implementaes computacionais eficientes e precisas;

    Para descarregar o MAXIMA, para o sistema operativo Windows, utilize o link: http://sourceforge.net/projects/MAXIMA/files/MAXIMA/5.10.0-Windows/MAXIMA-

    5.10.0b.exe/download

    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-se mais interactiva com o utilizador do que a xMAXIMA, motivo pelo qual foi escolhida para desenvolver este manual. O MAXIMA est disponvel para outros sistemas operativos, por exemplo, o Linux. Para mais informaes sobre o Mxima para outros sistemas operativos consulte a pgina:

    http://MAXIMA.sourceforge.net/

    1.2 As janelas de interface com o utilizador

    Aps a instalao do Mxima, aparece uma janela com a seguinte apresentao (se optar pelo wxMxima):

  • Introduo ao MAXIMA-2009 Bruna Santos

    15

    1 Interface:WxMaxima

    1.3 Constantes Matemticas:

    Vamos ver como se pode realizar uma operao aritmtica entre dois nmeros:

    (%i1) 5+2; Para visualizarmos o valor desta expresso necessrio empregar no final de cada instruo(;) e em seguida Shift+Enter. Podemos visualizar o resultado: (%o2) 7 Exploremos alguns exemplos de constantes matemticas conhecidas cujo os identificadores comeam por %:

    (%i2) % pi; (%o2) %pi o output do programa ser a mesma expresso que se escreveu

    No entanto, se colocarmos o comando float, visualizaremos um valor aproximado de :

    (%i3) float (%pi); (%o3) 3.141592653589793 ser impresso no programa um valor numrico da constante

  • Introduo ao MAXIMA-2009 Bruna Santos

    16

    O nmero de Euler:

    (%i4) float(%e); (%o4) 2.718281828459045

    1.4 Manipulao de Variveis:

    Uma ferramenta importante no MAXIMA a capacidade de atribuir e manipular variveis. Uma varivel, em programao, um identificador ao qual se pode atribur valores. No MAXIMA a instruo de atribuio concretiza-se empregando o smbolo : . (%i1) a:7; (%o1) 7 Se pretendemos visualizar o valor da varivel a, utilizamos o comando print. (%i2) print(a); (%o2)7 Podemos manipular as variveis efectuando, por exemplo, operaes aritmticas: (%i3) b:3; (%o3) 3 (%i4) c:a+b; (%o4) 10 (%i5) 2*c; (%o5) 20 (%i6) b*c; (%o6) 30 (%i6) b*c $ Empregando $ o resultado da expresso no impresso no ecr (%i7) c^b; (%o7) 1000 (%i8)(%); (%o8) 1000 Quando se utiliza o smbolo % acede-se ao ltimo valor calculado e armazenado na memria do MAXIMA.1 1 Cada vez que um novo valor calculado, o valor anterior perdido.

  • Introduo ao MAXIMA-2009 Bruna Santos

    17

    1.5 Aprendendo a Guardar

    Se, aps a realizao de operaes na interface do wxMxima, pretendemos voltar a utilizar o trabalho, devemos seguir os seguintes passos:

    1 - Selecciona-se a opo Save As

    2 Opo Save As

    2- Escreve-se o nome do ficheiro e selecciona-se Guardar:

  • Introduo ao MAXIMA-2009 Bruna Santos

    18

    3 Atribuir um nome ao ficheiro e guardar

    Temos o Teste 1 guardado no directrio Os meus documentos

    1-1 Guardar um documento em WxMaxima

    1.6 Operadores e Funes Matemticas

    1.6.1 Operadores Aritmticos:

    O quadro seguinte lista as operaes aritmticas que se podem realizar entre expresses:

    Operadores Operao + Soma - Subtraco / Diviso * Multiplicao ^ Exponenciao Tabela 1-2: Operaes aritmticas entre expresses

  • Introduo ao MAXIMA-2009 Bruna Santos

    19

    1.6.2 Operadores Relacionais:

    O objectivo dos operadores relacionais fornecer respostas do tipo verdadeiro e falso a comparaes. Assim, se a comparao for verdadeira vale true, se for falsa, vale false. O MAXIMA possui operadores relacionais que podem ser usados para comparar nmeros, variveis, expresses, matrizes, etc.

    Comando Descrio > Maior

    >= Maior ou igual < Menor

  • Introduo ao MAXIMA-2009 Bruna Santos

    20

    Funo Trigonomtrica Descrio sin(x) , sinh (x) Seno, Seno hiperblico cos(x) , cosh(x) Cosseno , Cosseno hiperblico tan(x) , tanh(x) Tangente, Tangente hiprbolica

    acos(x) Arco-seno asin(x) Arco-cosseno atan(x) Arco-tangente

    Tabela 1-4: Funes Trigonomtricas

    1.7 Nmeros Decimais e Complexos

    1.7.1 Nmeros Decimais A obteno de uma representao decimal de um nmero real feita por duas formas:

    I. float(expresso)

    II. Aps a expresso a calcular, acrescentar uma vrgula e a palavra numer.

    Exemplo - 1: Calcule o valor de e!" e 7

    ! na forma decimal.

    Resoluo: (%i1) %pi-%e; (%o1) %pi-%e (%i2) float(%); (%o2)0.42331082513075 (%i3) %pi/7, numer; (%o3) 0.44879895051283

    Exemplo 1-1

    Em clculo numrico, por vezes, os resultados e os clculos efectuados necessitam de ser expressos com um determinado nmero de casas decimais e/ou algarismos significativos. Podemos estabelecer essa preciso mediante a fixao de um valor varivel interna global fpprec (float point precision), que por defeito no Mxima 16) ou atravs do menu Numeric do WxMaxima; na opo Set Precision. Exemplo - 2: Calcule o valor de e com 25 casas decimais:

  • Introduo ao MAXIMA-2009 Bruna Santos

    21

    Resoluo: (%i1) fprec:25; (%o1) 25 (%i2) bfloat(%e); (%o2)2.718281828459045235360288b0

    Exemplo 1-2

    1.7.2 Nmeros Complexos

    No MAXIMA os nmeros complexos so da forma a+b*%i, em que a parte imaginria denotado por %i e a e b so nmeros reais. Os comandos realpart e imagpart indicam a parte real e parte imaginria, respectivamente. Se desejarmos simplificar uma expresso envolvendo nmeros complexos podemos utilizar, por exemplo, a funo demoivre. Exemplo-3: Dado o nmero complexo 2+5i aceda parte real e imaginaria e simplifique o nmero. Resoluo: (%i1) numcomplexo: 2+5*%i; (%o1) 5*%i+2 (%i2) realpart(numcomplexo); (%o2)2 (%i3) imagpart(numcomplexo); (%o3) 5 (%i4) exp (numcomplexo); (%o4)

    2%5%

    +ie

    (%i5) demoivre (%);

    (%o5) ))5cos()5sin((%%2

    +ie Exemplo 1-3

  • Introduo ao MAXIMA-2009 Bruna Santos

    22

    Capitulo 2.

    Listas, Matrizes e suas Operaes

    A natureza est escrita em linguagem matemtica. Galileu

  • Introduo ao MAXIMA-2009 Bruna Santos

    23

    Neste captulo abordaremos os seguintes itens: Criar listas e matrizes; Manipular listas e matrizes; Realizar operaes com listas e matrizes;

  • Introduo ao MAXIMA-2009 Bruna Santos

    24

    2.1 Listas

    As listas so utilizadas para representar vrios tipos de dados aglomerados por uma determinada ordem. No Mxima uma lista define-se do seguinte modo:

    (%i1) lista1 :[b,a,1,4,5];

    (%o1) [b,a,1,4,5]

    O comando listp (expr) verifica se a expresso ou no uma lista. Por exemplo:

    (%i2) listp(lista1);

    (%o2)true Retomando true quando uma lista..

    (%i3) listp(x:9);

    (%o3) false Retomando false quando o argumento no uma lista.

    Os elementos de uma lista so indexados a partir de um. Para aceder a elementos da lista faz-se:

    (%i4) first(lista1); ou lista[1];

    (%o4) b Acede ao primeiro elemento da lista

    (%i5) last(lista1);

    (%o5) 5 Acede ao ltimo elemento de uma lista

    (%i6) rest (lista, 2);

    (%o6) [1,4,5] Imprime uma lista com os dois primeiros elementos removidos.

    (%i7) part (lista, 3); ou lista[3];

    (%o7) 1 Acede ao terceiro elemento de uma lista

    (%i8) length (lista);

    (%o8) 5 Determina o nmero de elementos de uma lista

    (%i9) sort(lista1);

    (%o9) [1,4,5,a,b, X] Ordena os elementos de uma lista.

  • Introduo ao MAXIMA-2009 Bruna Santos

    25

    De seguida definimos uma nova lista que nos ser til para os comandos que se seguem:

    (%i1) lista2:[3,5,6,a,d,t];

    (%o1) [3,5,6,a,d,t]

    (%i2) join(lista1, lista2)

    (%o2)[b,3,a,5,1,6,4,a,5,d] Cria uma nova lista contendo os elementos da lista1 e da lista2 intercalados. O comando join ignorou os elementos da lista mais longa.

    (%i3) append(lista1, lista2)

    (%o3) [b,a,1,4,5,3,5,6,a,d,t] Cria uma nova lista incluindo todos os elementos de lista1 e lista 2 seguidos, incluindo os elementos da lista mais longa.

    Existem comandos que nos permitem adicionar novos elementos a uma lista, tanto no incio como no final de mesma. Vejamos como os comandos cons e endcons funcionam:

    (%i1) cons(X,lista1);

    (%o1) [X,b,a,1,4,5] Adiciona o elemento X no inicio da lista.

    (%i2) endcons(X,lista);

    (%o2)[b,a,1,4,5,X] Adiciona o elemento X no final da lista.

    possvel realizar operaes elementares, tais como a soma, subtraco, multiplicao, com os elementos de uma lista ou entre elementos de duas listas:

    (%i1) lista3:[1,4,5,8,7];

    (%o1) [1,4,5,8,7]

    (%i2) apply("+", lista3)

    (%o2)25 Somou todos os elementos da lista3

    (%i3) apply("*", lista3);

    (%o3) 1120 Multiplicou todos os elementos da lista3

    Para aplicar uma funo do tipo seno, factorial, etc. a cada elemento de uma lista recorre-se ao comando map:

    (%i1) map ("!", lista3);

    (%o1) [1, 24, 120, 40320, 5040]

  • Introduo ao MAXIMA-2009 Bruna Santos

    26

    (%i2) map (sin, lista3);

    (%o2)[sin(1),sin(4),sin(5),sin(8),sin(7)]

    Se aplicarmos o comando float expresso anterior, obtemos o valor numrico do seno de cada elemento da lista:

    (%i3) float(%);

    (%o3) [0.8414709848079,-0.75680249530793,-0.95892427466314,0.98935824662338,

    0.65698659871879]

    Ao aplicar o comando map a um determinado tipo de funes, nomeadamente funes trigonomtricas, exponencial e logartmica; no preciso empregar "".

    Podemos efectuar as operaes de subtraco (-), multiplicao (*) e diviso (/) entre listas. Note-se que a diferena entre os (.) e (*). O Com efeito, o smbolo (*) efectua a multiplicao do elemento [i] da lista 1 pelo elemento [i] (com o mesmo ndice) da lista 2, enquanto o smbolo (.) efectua o produto escalar entre duas listas, isto , a soma do produto dos elementos correspondentes das duas listas. Assim:

    (%i4) lista2:[9,3,4,5,1];

    (%o4) [9,3,4,5,1]

    (%i5) lista2+lista3

    (%o5) [10,7,9,13,8] Soma os elementos com mesmo ndice da listas 2 e 3

    (%i6) lista2*lista3;

    (%o6) [9,12,20,40,7]

    (%i7) lista2.lista3;

    (%o7) 88 Por vezes, necessrio construir listas com certos critrios e caractersticas. Para isso, o MAXIMA dispe de dois comandos: o create_list e o makelist 3 (%i1) create_list1(x^i,i,[1,3,7]); (%o1) [x, x^3 ,x^7]

    3 Este dois comandos produzem os mesmo resultados

  • Introduo ao MAXIMA-2009 Bruna Santos

    27

    (%i2) makelist (x=y,y,[a,b,c]); (%o2)[x = a, x = b, x = c] (%i3) create_list1(1/i, i, 1, 4); (%o3) [1, 1/2, 1/3, 1/4] (%i4) x:makelist (x[k],k,0,4); (%o4)[x[0], x[1] ,x[2], x[4]]

    2.2 Quadro Resumo: Comandos sobre Listas

    Comandos Descrio listp (expresso) Determina se a expresso ou no uma

    lista. No caso afirmativo retorna true seno retorna false.

    first (lista) primeiro elemento de uma lista. last (lista) o ltimo elemento de uma lista.

    rest (lista,n) uma lista com os n primeiros elementos da lista removidos.

    part (lista,n) ou

    lista[n]

    Acede ao elemento de ndice n de uma lista.

    length (lista) Determina o comprimento de uma lista. sort (lista) Ordena os elementos de uma lista por

    ordem crescente e/ou alfabtica. join (lista1, lista2) Cria uma nova lista com os elementos da

    lista 1 e da lista 2 intercalados. Este comando ignora os elementos da lista mais longa, se as listas no possurem o mesmo comprimento.

    append(lista1, lista 2) Cria uma nova lista com os elementos da lista 1 e da lista 2 seguidos.

    cons (elemento,lista) Adiciona um elemento no incio da lista, sem alterar a lista inicial. Para actualizar a lista inicial, preciso efectuar a seguinte instruo de atribuio: lista: cons (elemento, lista);

    endcons (elemento,lista) Adiciona um elemento no fim da lista sendo que este comando possui as mesmas caractersticas que cons.

    creat_list ( expresso, varivel, lista) makelist (expresso, varivel, lista)

    Estes comandos permitem-nos criar listas com determinadas caractersticas.

    Tabela 2-5

  • Introduo ao MAXIMA-2009 Bruna Santos

    28

    2.3 Matrizes

    No Mxima uma matriz define-se do seguinte modo: (%i1) A: matrix (lista1,lista2,..,listan); Onde as lista1, lista2, ..., listan so as linhas da matriz e devem ter o mesmo comprimento.

    Exemplo 1: Defina, no Mxima, a matriz A= !!!

    "

    #

    $$$

    %

    &

    '

    '

    ''

    6410

    1271

    435

    e determine o nmero de

    linhas e de colunas de A. Resoluo: (%i1) A: matrix ([5, -3, -4],[1, -7, 12], [10,4,-6]);

    (%o1) !!!

    "

    #

    $$$

    %

    &

    '

    '

    ''

    6410

    1271

    435

    (%i2) matrix_size (A); (%o2)[3, 3]

    Exemplo 2-4

    2.3.1 Operaes Bsicas com Matrizes

    Com o Mxima possvel efectuar as operaes bsicas (soma, subtraco, multiplicao, inversa e exponenciao) com matrizes. Por exemplo, se A e B so duas matrizes com a mesma dimenso, A+B, a soma as duas matrizes.

    Exemplo 2: Sejam as matrizes A= !!!

    "

    #

    $$$

    %

    &

    '

    ''

    6410

    1271

    435

    e B= !!!

    "

    #

    $$$

    %

    &

    '

    '

    ''

    6110

    1272

    631

    calcule

    atravs de comandos do Mxima:

    a) A+B; b) 3A;

  • Introduo ao MAXIMA-2009 Bruna Santos

    29

    c) B-2A; d) (A.B 1! ) 4; e) AB 1! ;

    Resoluo: (%i1) A: matrix ([5, -3, -4], [1, -7, 12], [10, 4, 6])$ (%i2) B: matrix ([1, -3, -6], [2, -7, 12], [10, 1, -6])$ (%i3) A+B;

    (%o3) !!!

    "

    #

    $$$

    %

    &

    '

    ''

    0520

    24143

    1066

    (%i4) 3.A;

    (%o4) !!!

    "

    #

    $$$

    %

    &

    '

    ''

    181230

    36213

    12915

    (%i5) B 3.A;

    (%o5) !!!

    "

    #

    $$$

    %

    &

    '''

    ''

    '

    241120

    24141

    6614

    (%i6) A.B;

    (%o6) !!!

    "

    #

    $$$

    %

    &

    ''

    '

    ''

    485278

    16258107

    42241

    (%i7) A.B 1! ;

    4 Definio: O inverso de uma matriz quadrada B a matriz B 1!

  • Introduo ao MAXIMA-2009 Bruna Santos

    30

    (%o7)

    1

    51

    3

    2

    2 1 1

    11

    4!1

    "

    #

    $$$$$

    %

    &

    '''''

    Exemplo 2-5

    2.3.2 Acrescentando e Eliminando Elementos:

    Por vezes, h necessidade de acrescentar ou extrair colunas e/ou linhas a uma matriz.

    Exemplo 3: Seja A=!!!

    "

    #

    $$$

    %

    &

    '

    '

    ''

    6110

    1272

    631

    . Resolva as seguintes alneas atravs do

    MAXIMA: a) Aceda ao elemento da segunda linha e terceira coluna b) Extraa a primeira linha; c) Extraa a ltima coluna; d) Adicione a linha [3,7,9] matriz A;

    e) Adicione a coluna !!!

    "

    #

    $$$

    %

    &

    '

    5

    1

    2

    Resoluo: (%i1) A: matrix ([1, -3, -6], [2, -7, 12], [10, 1, -6])$ (%i2) A[2,3]; (%o2)12 (%i3) row(A, 1); (%o3) [1, -3, -6]; (%i4) col(A,3);

    (%o4) !!!

    "

    #

    $$$

    %

    &

    '

    '

    6

    12

    6

  • Introduo ao MAXIMA-2009 Bruna Santos

    31

    (%i5) addrow(A, [3, 7, 9]);

    (%o5)

    !!!!

    "

    #

    $$$$

    %

    &

    '

    '

    ''

    973

    6110

    1272

    631

    (%i6) C:transpose ([2, -1, 5]);

    (%o6) !!!

    "

    #

    $$$

    %

    &

    '

    5

    1

    2

    (%i7) addcol (A, C);

    (%o7)

    !!!!

    "

    #

    $$$$

    %

    &

    '

    ''

    ''

    56110

    11272

    2631

    Exemplo 2-6

    2.3.3 Elementos de lgebra Linear

    Definio: Uma matriz diagonal toda a matriz quadrada em que os elementos que no pertencem diagonal principal so iguais a zero. Sendo que, os elementos da diagonal principal podem ou no serem iguais a zero (no sendo necessariamente iguais). A matriz diagonal tem as seguintes propriedades:

    I. simtrica. II. Tem por valores prprios os elementos da diagonal principal e por vectores

    prprios os vectores da base cannica. III. O determinante igual ao produto dos elementos da diagonal principal.

    Exemplo 4: Atravs de comandos do Mxima:

    a) Defina uma matriz diagonal, MD, em que os elementos na diagonal so diferentes de zero;

    b) Determine o determinante da matriz diagonal. c) Calcule o polinmio caracterstico, P(!) = det(I " !MD) , de MD. d) Encontre os valores prprios e vectores prprios de MD.

    Resoluo:

  • Introduo ao MAXIMA-2009 Bruna Santos

    32

    a) (%i1) MD: matrix [[2,0],[0,7]];

    (%o1) !"

    #$%

    &

    70

    02

    b) (%i2) determinant (MD); (%o2) 49 c) (%i3) charpoly (MD,x); (%o3)( )( )xx !! 72 Para calcular os valores e vectores prprios, no Mxima, necessrio chamar o pacote eigen.mac. atravs load(eigen). (%i4) load (eigen); (%o4) C:/Programas/MAXIMA-5.17.0/share/MAXIMA/5.17.0/share/matrix/eigen.mac (%i5) eigenvalues (MD); (%o5) [[7],[2]] Retoma duas listas. A primeira lista retoma os valores prprios e a segunda lista retoma a multiplicidade dos mesmos. Neste caso 7 valor prprio duplo. d) (%i6) eigenvectors (MD); (%o6) [[[2,7],[1,1]],[1,0],[0,1]] Retorna uma lista de listas cuja primeira sub-lista a sada de eigenvalues e as outras sublistas so os autovectores da matriz correspondente.

    Exemplo 2-7 Definio: Uma matriz quadrada nxnA diz-se invertvel se existir uma matriz B, tal que

    AB=BA= Identidade

  • Introduo ao MAXIMA-2009 Bruna Santos

    33

    Exemplo 5: Seja A= !"

    #$%

    &

    31

    52

    . Calcule, atravs do Mxima, a inversa de A.

    Resoluo: (%i1) A: matrix ([2, 5],[1, 3]);

    (%o1) !"

    #$%

    &

    31

    52

    (%i2) Id:ident(2);

    (%o2) !"

    #$%

    &

    10

    01

    (%i3) B:invert (A);

    (%o3) 3 !5

    !1 2

    "

    #$

    %

    &'

    Verifiquemos o nosso resultado: (%i4) A.B;

    (%o4) !"

    #$%

    &

    10

    01

    (%i5) B.A;

    (%o5) !"

    #$%

    &

    10

    01

    Exemplo 2-8 Definio: Uma matriz quadrada A diz-se ortogonal se e s se a sua inversa for igual sua transposta, isto :

    IdentidadeAAAAAATTT

    ==!="1

  • Introduo ao MAXIMA-2009 Bruna Santos

    34

    Exemplo 6: Verifique, com comandos do Mxima, se a matriz C=1

    2

    3

    2

    3

    2!1

    2

    "

    #

    $$$$

    %

    &

    ''''

    ortogonal. Resoluo: (%i1) C: matrix ( [1/2, sqrt(3)/2 ] , [sqrt(3)/2 , -1/2]);

    (%o1) 1

    2

    3

    2

    3

    2!1

    2

    "

    #

    $$$$

    %

    &

    ''''

    (%i2) InvC: invert(C);

    (%o2)1

    2

    3

    2

    3

    2!1

    2

    "

    #

    $$$$

    %

    &

    ''''

    (%i3) TC: transpose ( C);

    (%o3)

    !!!!

    "

    #

    $$$$

    %

    &

    '2

    1

    2

    3

    2

    3

    2

    1

    (%i4) C.TC;

    (%o4) !"

    #$%

    &

    10

    01

    Exemplo 2.3-9

    2.4 Operaes Bsicas com Matrizes:

    Operao Descrio A B Soma ou diferena de matrizes (adiciona

    ou subtrai elementos correspondentes, ou seja, A[i,j] B[i,j] onde i,j !"# )

    k*M Multiplicao de um escalar por todos

  • Introduo ao MAXIMA-2009 Bruna Santos

    35

    elementos de uma matriz A.B 5 Produto entre duas matrizes. A.B 1! Produto de uma matriz pelo o inverso da

    outra. M ^ k

    k ^ M

    A exponenciao (^) realizada, elemento a elemento.

    Tabela 2-6: Operaes bsicas com Matrizes

    2.5 Quadro Resumo: Comandos sobre Matrizes

    Comandos Descrio matrix_size (M) Determina o nmero de linhas e nmero

    de colunas de uma matriz diagmatrix (n, varivel ) Retorna uma matriz diagonal de dimenso

    n por n em que os elementos da diagonal principal so todos iguais varivel

    fornecida. charpoly (M, varivel) Calcula o polinmio caracterstico de uma

    matriz eigenvalues (M) Imprime uma lista de duas listas. A

    primeira sub-lista contem os valores prprios, a segunda sub-lista contm a multiplicidade dos mesmos na ordem

    correspondente. eigenvects (M) ou eigenvectores (M) Retorna uma lista contendo os vectores

    prprios da matriz M. determinant (M) Calcula o determinante da matriz M

    invert (M) Retorna a inversa da matriz M. ident(n) Retorna uma matriz identidade n por n.

    transpose (M) Calcula a matriz transposta de M. addcol (M, coluna 1,,coluna n) Acrescenta a(s) coluna(s) dada(s) no final

    da matriz M. addrow (M, lista 1,, lista n) Acrescenta a(s) linhas dada(s) no final da

    matriz M. Tabela 2-7: Comandos sobre matrizes

    5 Corresponde ao somatrio dos produtos da linha i da matriz A e das colunas j da matriz B. O produto entre matrizes requer que o nmero de colunas da matriz A deva ser igual ao nmero de linhas da matriz B.

  • Introduo ao MAXIMA-2009 Bruna Santos

    36

    Capitulo 3.

    Equaes, Sistemas de Equaes e Equaes Diferenciais

    Os nmeros so as regras dos seres e a Matemtica o Regulamento do Mundo. - F. Gomes Teixeira

  • Introduo ao MAXIMA-2009 Bruna Santos

    37

    O objectivo deste captulo a manipulao de equaes, sistemas de equaes e equaes diferenciais. Aps a leitura deste captulo o leitor ser capaz de: Definir e resolver equaes no MAXIMA; Aceder aos membros de uma equao; Calcular razes de equaes; Definir e resolver sistemas de equaes; Definir e resolver equaes diferenciais;

  • Introduo ao MAXIMA-2009 Bruna Santos

    38

    3. Equaes, Sistemas de Equaes e Equaes Diferenciais

    3.1 Equaes:

    No MAXIMA as equaes definem-se atravs do operador =. Para aceder ao primeiro e ao segundo membro utilizam-se, respectivamente, os comandos lhs e rhs (que podemos traduzir como lado esquerdo e lado direito).

    Exemplo 1: Defina a equao x

    xx

    2

    3 64

    +=+ e aceda ao primeiro e ao segundo

    membro da mesma. Resoluo: (%i1) eq:x^3 +4 =(6+x^2)/x;

    (%o1) x

    xx

    2

    3 64

    +=+

    (%i2) lhs(eq); (%o2) 43 +x (%i3) rhs(eq);

    (%o3) x

    x2

    6+

    Exemplo 3.1-1 Podemos somar e multiplicar expresses a ambos os membros de uma equao. Por exemplo: (%i4) (x/4)*eq;

    (%o4) 4

    6

    4

    )4( 23 xxx +=

    +

    (%i5) expand(%);

    (%o5) 2

    3

    44

    24

    +=+x

    xx a equao simplificada.

  • Introduo ao MAXIMA-2009 Bruna Santos

    39

    Podemos definir uma funo de uma ou mais variveis utilizando o operador := : (%i1) f(x,y) := x+(x/y);

    (%o1) y

    xxyxf +=:),(

    (%i2) f(9,3); calcula o valor da funo no ponto (9,3). (%o2) 12 Outra maneira de definir uma funo atravs do comando define. Exemplificando: (%i1) exp: log(y) + cos(x); (%o1) exp: log(y) + cos(x); (%i2) define (F1(x,y),exp); (%o2) F1(x,y):= log(y) + cos(x); (%i3) F1(2,3), numer; (%o3) 0.68246545212097

    No MAXIMA, para calcular os zeros de uma equao podemos utilizar o comando solve (equao) ou solve (equao=0). Contudo, nem sempre possvel obter uma soluo de forma analtica. Nesse caso pode utilizar-se comandos que tm como base a aplicao de mtodos numricos. Um exemplo deste tipo de comando o find_roots(equao). Exemplo 2: Calcule as razes da equao xe x =! . Resoluo: (%i1) f(x) :=exp(-x)-x; (%o1) f(x) :=exp(-x)-x; (%i2) solve(f(x)); (%o2)[ xex !=% ] o comando solve no fornece uma resposta explcita.

  • Introduo ao MAXIMA-2009 Bruna Santos

    40

    (%i3) find_root (f(x),x,0,1); (%o3) 0.56714329040978

    Exemplo 3.1-2

    3.2 Sistemas de Equaes

    Os 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). Exemplo 1: Resolva os seguintes sistemas:

    i. !"#

    =+

    =+

    42

    52

    yx

    yx

    ii. !"

    !#

    $

    =++%

    =++

    =%+

    42

    74

    032

    zyx

    zyx

    zyx

    Resoluo: (%i1) solve([x+2*y=5, 2*x+y=4], [x,y]); (%o1) [[ x=1,y=2 ]] (%i2) linsolve([2*x+3*y-z=0, 4*x+y+z=7, -2*x+y+z=4], [x,y,z]);

    (%o2) !"

    #$%

    &!"

    #$%

    &=== 4,1,

    2

    1zyx

    Exemplo 3.2-1

    3.3 Equaes Diferenciais Ordinrias

    Definio: Uma equao diferencial ordinria (EDO) uma equao da forma:

    0))(),...,(''),('),(,( )( =xyxyxyxyxF n

    envolvendo uma nica funo incgnita y=y(x) e suas derivadas. A varivel independente x e y a varivel dependente. A derivada de ordem n denota-se pelo smbolo )()( xy n . A ordem da equao diferencial ordinria dada pela mais alta derivada da funo presente na equao.

  • Introduo ao MAXIMA-2009 Bruna Santos

    41

    O comando do MAXIMA que resolve equaes diferencias ordinrias de primeira e segunda ordem ode2 (ode=ordinary differential equation). Ao usar o comando temos que definir a: I. Equao diferencial;

    II. Varivel dependente; III. Varivel independente; Exemplo 1: Defina e resolva a seguinte equao diferencial

    0)1()1( 33 =!+!dx

    dyxyyx

    Resoluo:

    (%i1) eqdif: (x-1)*y^3 + (y-1)*x^3* diff (y,x) =0;

    (%o1) 0)()1()1( 33 =!+!dx

    dyxyyx

    (%i2)resoleq:ode2(eqdif,y,x);

    (%o2)22

    2

    12%

    2

    12

    x

    xc

    y

    y !!=

    ! a soluo depende de uma constante arbitrria

    representada por %c. Nota: necessrio o uso do apstrofo () antes de diff com o objectivo de evitar o clculo da derivada

    Exemplo 3.3-1 Exemplo 2: Defina e resolva a equao diferencial de segunda ordem

    0)( 32

    2

    =+dx

    dyy

    dx

    yd

    Resoluo: (%i1) eqdif2: diff(y,x,2)+y*diff(y,x)^3=0;

    (%o1) ( ) 032

    2

    =+dx

    dyy

    dx

    yd

    (%i2) resoleq2:ode2(eqdif2,y,x);

    (%o2) 2%6

    1%63

    kxyky

    y +=+

    = A soluo depende de duas constantes %k1 e

    %k2. Exemplo 3.3-2

  • Introduo ao MAXIMA-2009 Bruna Santos

    42

    Exemplo 3: Defina e resolva o seguinte problema de valor inicial (PVI)

    x

    xxy

    dx

    dyx

    )sin(32 =+ , onde as condies iniciais so (,0).

    Resoluo: (%i1) eqdif3: x^2*diff(y,x) + 3*x*y=sin(x)/x;

    (%o1) x

    xxy

    dx

    dyx

    )sin(3)(2 =+

    (%i2) resoleq3:ode2(eqdif3,y,x);

    (%o2)3

    )cos(%

    x

    xcy

    !=

    (%i3) ic1(resoleq3,x=%pi, y=0);

    (%o2)3

    )cos(1

    x

    xy

    +!= a constante determinada pela condio inicial, que

    corresponde a y(!) = 0 Exemplo 3.3-3

    Existem equaes diferenciais cuja soluo analtica no possvel de

    determinar. Assim, teremos que recorrer ao estudo qualitativo dessas equaes, desenhando um campo de direces nas duas dimenses x e y.

    Exemplo 4: Obtenha o campo de direces da equao diferencial 2yxdx

    dy!= e a

    trajectria da soluo que passa por (-1,3) . Resoluo: (%i1 )load("plotdf")$ (%i2) plotdf(x-y^2, [trajectory_at,-1,3]);

    Exemplo 3.3-4

  • Introduo ao MAXIMA-2009 Bruna Santos

    43

    Ilustrao 4 - Campo de direces

    3.4 Quadro Resumo: Comandos do Capitulo 3

    Comando Descrio lhs (expr) Acede ao lado esquerdo (isto , o primeiro

    membro) da expresso expr, quando o operador de expr for relacional ou de atribuio.

    rhs (expr) Acede ao lado direito (isto , o segundo argumento) da expresso expr, quando o operador de expr for relacional ou de atribuio.

    solve (expr,x) Resolve a equao algbrica, expr, na varivel x,

    find_roots (f(x),x,a,b) find_roots (f,x,a,b)

    Determina a raiz da funo f, ou da expresso f(x), na varivel x (por exemplo), pertencente ao intervalo [a,b].

    allroots (expr) allroots (eqn)

    Calcula, atravs de mtodos numricos, razes, complexas ou reais, do polinmio (expr) ou de uma equao polinomial de uma varivel (eqn).

    linsolve ([expr1,expr2,...,exprn],[x1,x2,..,xn])

    Resolve uma lista de equaes lineares simultaneamente, ou seja, um sistema.

  • Introduo ao MAXIMA-2009 Bruna Santos

    44

    ode2(deqn, dvar, ivar) Resolve equaes diferenciais ordinrias (EDO) de primeira ou de segunda ordem. Recebe trs argumentos: uma EDO deqn, a varivel dependente, dvar, e a varivel independente, ivar

    ic1(deqn1,xval, yval) Resolve o problema de valor inicial constitudo por uma equao diferencial de primeira ordem e as coordenadas xval e yval do ponto inicial.

    plotdf Produz o campo de direces de uma equao diferencial em duas dimenses, x e y.

    Tabela 3.1: Comandos introduzidos no capitulo 3

  • Introduo ao MAXIMA-2009 Bruna Santos

    45

    Capitulo 4.

    Grficos

    O livro da natureza foi escrito exclusivamente com figuras e smbolos matemticos. - Galileu

  • Introduo ao MAXIMA-2009 Bruna Santos

    46

    O Mxima possui vrios recursos para produzir diversos tipos de grficos em duas e trs dimenses. Os objectivos deste captulo so:

    Traar grficos a duas dimenses de tipos:

    continuos

    discretos

    paramtri cos

    polares

    !

    "

    ##

    $

    ##

    .

    Inserir texto na rea do grfico; Traar grficos a trs dimenses;

  • Introduo ao MAXIMA-2009 Bruna Santos

    47

    4.1 Introduo aos Grficos

    4.1.1 Grficos de Funes de uma Varivel Coordenadas

    Cartesianas

    Para visualizarmos graficamente funes de uma varivel utiliza-se o comando plot2d(). Acedemos a este comando de duas formas: I. Utilizando a funo plot2d() directamente.

    II. No menu do WxMaxima, selecciona-se Plot e seguidamente a opo Plot2d donde surgir uma janela de dilogo da forma:

    Ilustrao 5- Janela de Dilogo de Grficos 2D no WxMaxima

    Atravs desta janela possvel definir vrios parmetros de uma forma interactiva. No nosso exemplo, introduzimos a funo sin(x) nos intervalos [-10,10] x [-1,1]. Aps a concluso da introduo dos vrios parmetros surgir: (%i1) wxplot2d ([sin(x^2)], [x,-10,10], [y,-1,1])

  • Introduo ao MAXIMA-2009 Bruna Santos

    48

    Ilustrao 6 Grfico da funo sin(x^2)

    Para visualizar mltiplos grficos na mesma janela devemos colocar as funes na forma de lista como podemos ver no exemplo que se segue: Exemplo 1: Represente na mesma janela, ou seja, no mesmo sistema de eixos, as duas funes

    x3, x reduzindo o intervalo de valores de x e y entre [0,2] e [0,4],

    respectivamente. Resoluo: (%i1) plot2d ([x^3, sqrt(x)], [x,0,1], [y,0,4]);

    Ilustrao 7 Grfico do par de funes [x^2, sqrt(x)]

    Exemplo 4.1-1

  • Introduo ao MAXIMA-2009 Bruna Santos

    49

    possvel assinalarmos as funes6 assim como os eixos coordenados. Retomando o exemplo anterior: (%i2) plot2d([x^3, sqrt(x)], [x,0,1], [y,0,4], [legend, Grafico 1, Grafico 2], [xlabel, Eixo - X], [ylabel, Eixo - Y]);

    Ilustrao 8 Grfico legendado do par de funes [x^2, sqrt(x)]

    4.1.2 Grficos de Dados Discretos

    Nas cincias experimentais, a recolha e anlise de dados discretos, normalmente resultantes de experincias ou observaes, tem um papel fulcral na obteno de concluses sobre determinados fenmenos e ou teorias. A opo discrete do plot2d permite representar lista de pontos. Exemplo 2: Considere o registo de 4 em 4 horas da evoluo da temperatura (em graus centigrados) durante 24 horas na cidade do Porto. [[0h, 10],[4h,12],[8h,15], [12h, 20], [15h, 25], [20h, 18]]. Represente os dados graficamente. Resoluo: (%i1) temperaturas:[[0, 10],[4,12 ],[8,15], [12, 20], [15, 25], [20, 18]]; (%o1) [[0,10],[4,12],[8,15],[12,20],[15,25],[20,18]]

    6 Ao colocar legendas nos grficos o Gnuplot no aceita caracteres especiais, como, ; nem acentos ortogrficos.

  • Introduo ao MAXIMA-2009 Bruna Santos

    50

    (%i2) plot2d([discrete, temperaturas], [style, points]); Exemplo 4.1-2

    Ilustrao 9 Representao grfica dos valores da temperatura

    Exemplo 3: Utilizando os dados do exemplo anterior verifique:

    i. Se a funo 23

    5)( += xxf , descreve aproximadamente a evoluo da

    temperatura. ii. Represente os dados unidos por segmentos de recta.

    Resoluo: i) (%i3) plot2d([[discrete, temperaturas], (5/3)*x+2], [style, [points, 3, 4], [lines, 1, 2], [legend, dados, funcao teorica]), [xlabel, Tempo (Horas)], [ylabel, Temperatura (C)]];

    Exemplo 4.1-3

  • Introduo ao MAXIMA-2009 Bruna Santos

    51

    Ilustrao 10 Representao das temperaturas e da funo terica

    Em concluso a recta no acompanha bem o conjunto de todos pontos representados. ii) (%i4) plot2d([ discrete, temperaturas]);

    Ilustrao 11 Representao grfica dos dados

  • Introduo ao MAXIMA-2009 Bruna Santos

    52

    4.1.3 Grficos de Funes Paramtricas

    A representao de funes paramtricas pode se feita no MAXIMA atravs da opo parametric do plot2d. Exemplo 4: Represente a funo paramtrica (2cos (t), 2 sin(t)) no intervalo [0, 2! ]. Resoluo: (%i3) plot2d([parametric, 2*cos(t), 2*sin(t)], [t,0,2*%pi]);

    Exemplo 4.1-4

    Ilustrao 12 Grfico da funo paramtrica (2cos (t), 2 sin(t))

  • Introduo ao MAXIMA-2009 Bruna Santos

    53

    4.1.4 Grficos em Coordenadas Polares

    Um modo importante de representao de pontos num plano consiste no uso de coordenadas polares atravs da opo set polar do gnuplot_preamble. A opo set zeroaxis impede o traado dos eixos coordenados. Exemplo 5: Represente graficamente as seguintes funes.

    i. !(")= 0,5sin(4"), " #[0, 4$ ]. ii. !(")= -3+2cos("), " #[0,2$ ].

    Resoluo: i) (%i1) plot2d([0.5*sin(4*phi)],[phi,0,4*%pi],[gnuplot_preamble, "set polar; set zeroaxis;"]);

    Exemplo 4.1-5

    Ilustrao 13 Grfico da funo (! )=0,5 sin ( 4! )

    ii) (%i2) plot2d([-3+2*cos(phi)],[phi,0,2*%pi],[gnuplot_preamble, "set polar; set zeroaxis;"]);

  • Introduo ao MAXIMA-2009 Bruna Santos

    54

    Ilustrao 14 Grfico da funo (! )=-3+2cos (! ) em coordenadas polares

    4.1.5 Grficos de Funes Implcitas

    Existem vrias maneiras de representar curvas no plano. Entre estas, destaca-se o implicit_plot. Exemplo 6: Represente graficamente a curva x2 ! y2 = 2no intervalo [-2; 2] x [4,4]. Resoluo: (%i1) load(implicit_plot); (%o1)C:/Programas/MAXIMA-5.17.0/share/MAXIMA/5.17.0/share/contrib/implicit_plot.lisp (%i2) implicit_plot (x^2-y^2=2, [x, -4, 4], [y, -4, 4], [gnuplot_preamble, "set zeroaxis"]);

    Exemplo 4.1-6

  • Introduo ao MAXIMA-2009 Bruna Santos

    55

    Ilustrao 15 Curva: x2 ! y2 = 2

    4.2 Grficos Tridimensionais

    Existem distintos modos de criar grficos tridimensionais no MAXIMA. O comando plot3d() permite faz-lo, os seus argumentos so:

    I. Funo ou lista de funes. II. Domnio.

    III. Contradomnio. Exemplo 1: Represente graficamente a funo 223),( yxyxf !!= no domnio [ ] [ ]5,54,4 !"! Resoluo: (%i1) plot3d(3-x^2-y^2,[x,-4,4],[y,-5,5]);

    Exemplo 4.2-1

  • Introduo ao MAXIMA-2009 Bruna Santos

    56

    Ilustrao 16 223),( yxyxf !!=

    Podemos visualizar um grfico tridimensional, noutro formato, para alm do

    Gnuplot. Usando a funo, 223),( yxyxf !!= , do exemplo anterior, e utilizando a opo openmath do plot_format (que se encontra instalado no Mxima), obtemos: (%i2) plot3d (3-x^2-y^2, [x,-4,4], [y,-5,5], [plot_format, openmath]);

    Ilustrao 17 Grfico da funo 223),( yxyxf !!=

    Utilizando o menu Config (canto superior esquerdo), podemos modificar algumas opes.

  • Introduo ao MAXIMA-2009 Bruna Santos

    57

    4.2 Quadro Resumo: Opes grficas:

    Plot2d(expr, [x minimo, x maximo], [y mnimo, y mximo]), [opes])

    Cria um grfico a duas dimenses. Opes Impulses- Desenha linhas verticais entre a curva do grfico e o eixo do x. Points Para representar dados discretos. Parametric Para representar funes paramtricas.

    Style

    Implicit plot- Para representar funes implcitas.

    Opes set polar Para representar funes em coordenadas polares.7

    set zero axis No desenha os eixos coordenados.

    Plot3d(expr, [x minimo, x maximo], [y mnimo, y mximo]), [opes])

    Cria um grfico de uma ou trs funes de duas variveis.

    Tabela 8: Opes Grficas 7 Por defeito assume se que a varivel independente phi.

  • Introduo ao MAXIMA-2009 Bruna Santos

    58

    Capitulo 5.

    Clculo Diferencial e Integral

    A imaginao mais importante que o conhecimento. Albert Einstein

  • Introduo ao MAXIMA-2009 Bruna Santos

    59

    Os objectivos deste captulo so: Explorar comandos de manipulao algbrica de polinmios, tais como:

    simplificao, expanso e factorizao; Calcular, atravs do MAXIMA:

    i. O valor de uma funo num ponto; ii. O limite de uma funo;

    iii. A derivada de uma funo; iv. Os pontos crticos; v. O integral definido de uma funo;

  • Introduo ao MAXIMA-2009 Bruna Santos

    60

    5.1 Operaes com Polinmios:

    No MAXIMA, possvel efectuar operaes elementares sobre expresses, calcular limites, derivadas e integrais de funes de forma rpida e eficaz. Exemplo 1: - Factorize o polinmio 22 1025 yxyx +! ;

    - Expanda o polinmio ( ) ( )523 kzkz !+ ; Resoluo: (%i1) factor (25*x^2 -10*x*y +y^2); (%o1) 2)5( yx ! (%i2) expand ((z + k) ^ 3 * (z - k)^2); (%o2) 54233245 22 kzkzkzkkzz ++!!+

    Exemplo 5.1-1

    5.2 Limites e Continuidade:

    Por vezes, necessrio calcular o valor de uma funo num ponto especfico. Exemplo 1: Calcule o valor da funo f (x) = x + cos x no ponto x = ! . Resoluo: (%i1) f(x):= x + cos (x); (%o1) f(x):= x + cos (x); (%i2) f(%pi) (%o2)%pi-1

    Exemplo 5.2-1 Definio: Seja f (x) uma funo real de varivel real e c um ponto de ! . Seja K o limite de f(x), quando x converge para c. A notao habitual :

    Kxfcx

    =

    !

    )(lim

  • Introduo ao MAXIMA-2009 Bruna Santos

    61

    Exemplo 2: Calcule o limite da funo x2+ x +1

    x +1 no ponto x = 1 .

    Resoluo: (%i1) limit ((x^2+x+1)/(x+1), x,1);

    (%o1) 2

    3

    Exemplo 5.2-2

    Exemplo 3: Calcule o limite, direita e esquerda, da funo 1x !1

    no ponto x = 1 .

    Resoluo: (%i1) limit(1/(x-1),x,1, plus); (%o1) ! 8 (%i2) limit(1/(x-1),x,1,minus); (%o2) !"

    Exemplo 5.2-3

    Exemplo 4: Calcule os limites:

    a) xx

    1lim

    +!"

    ;

    b) xx

    xx

    x ee

    ee

    !

    !

    !"# +

    !lim

    c) 1

    1lim

    1 !" xx

    Resoluo: (%i1) limit (1/sqrt(x), x, inf); (%o1) 0 (%i2) limit ((exp(x)-exp(-x))/(exp(x)+exp(-x)),x, minf); (%o2)-1

    8 Se a expresso de sada for ind ou und, significa que o limite calculado indefinido.

  • Introduo ao MAXIMA-2009 Bruna Santos

    62

    (%i3) limit (1/ (x-1), x, 1); (%o3) infinity representa o infinito complexo.

    Exemplo 5.2-4

    5.3 Derivadas:

    Definio: A derivada de uma funo f no ponto x, f '(x) , definida, a partir da noo de limite, por:

    f '(x) = lim!x"0

    f (x + !x) # f (x)

    !x

    A interpretao geomtrica da derivada de uma funo num ponto o declive da recta tangente nesse ponto. importante salientar que se uma funo f derivvel no ponto x=c, ento a funo contnua nesse ponto. Exemplo 1: Calcule a primeira e a segunda derivada da funo f (x) = x3 x2 !1 no ponto 2=x . Resoluo: (%i1) f(x):=x^3 * sqrt (x^2-1); definio da funo f (x)

    (%o1) 13 22 !xx (%i2) define(df1(x),diff(f(x),x,1)); o comando define permite definir f '(x) atravs do comando diff.

    (%o2) df1(x):=1

    132

    4

    22

    !

    !!

    x

    xxx

    (%i3) df1(2); avalia f '(2)

    (%o3) 3

    16312 +

    (%i4) define(df2(x),(diff(f(x),x,2))); define a segunda derivada

    (%o4) df2(x):=( )2

    3

    2

    5

    2

    3

    2

    11

    716

    !

    !

    !

    +!

    x

    x

    x

    xxx

    (%i5) df2(2); avalia f ''(2)

    (%o5) 33

    136312 +

    Exemplo 5.3-1

  • Introduo ao MAXIMA-2009 Bruna Santos

    63

    Exemplo 2: Determine a equao da recta tangente ao grfico da funo )2cos()sin(2)( xxxf += no ponto ( )1,! , representando a funo e a recta

    graficamente. Resoluo: (%i1) f(x):=2* sin(x) + cos(2*x); (%o1) )2cos()sin(2:)( xxxf += Para determinar a equao da recta tangente no ponto ( )1,! , calcula - se )(' !f (%i2) define(df1(x),(diff(f(x),x,1))); (%o2) )2sin(2)cos(2 xx ! (%i3) tangente(x):=df1 (%pi)*x+f(0)$ A equao da recta tangente tem a forma y(x)=mx+b. A equao : y(x)=-2x++2. (%i3) plot2d ([f(x), tangente(x)], [x,0,2*%pi], [y,-4,2]);

    Exemplo 10

    Grfico de )2cos()sin(2)( xxxf += e da recta tangente ao ponto ( )1,!

  • Introduo ao MAXIMA-2009 Bruna Santos

    64

    Frequentemente, necessrio estudar o comportamento de uma funo num determinado intervalo I. Para isso, necessrio determinar os pontos crticos da funo, assim como a monotonia. O MAXIMA til neste tipo de tarefas. Exemplo 3: Calcule os pontos crticos e os pontos de descontinuidade da funo

    f (x) =x2+ 3x

    x3! 5x

    2. Represente graficamente a funo.

    Resoluo: (%i1) f(x):= (x^2+3x)/(x^3 -5*x^2);

    (%o1) 23

    2

    5

    3:)(

    xx

    xxxf

    !

    +=

    (%i2) pcriticos1: solve(diff(f(x), x, 1)); os pontos crticos so os zeros de f '(x)

    (%o2) x = !2 6 ! 3, x = 2 6 ! 3"# $%

    (%i3) pdesc1: solve(x^3-5*x^2); os pontos de descontinuidade so os zeros do denominador de f (x) (%o3) x = 0, x = 5[ ]

    Exemplo 5.3-3

    Ilustrao 18 Grfico da funo 23

    2

    5

    3)(

    xx

    xxxf

    !

    +=

  • Introduo ao MAXIMA-2009 Bruna Santos

    65

    Exemplo 4: Dada a funo racional2)1(

    1)(

    !!=x

    xg , determine:

    a) Primeira derivada; b) Segunda derivada; c) Interseco da funo com eixo y; d) A paridade da funo; e) O comportamento da funo, quando +! "" 1,1 xx ;

    Resoluo: a) (%i1) ) g(x):= (-1)/((x-1)^2);

    (%o1) 2)1(

    1)(

    !!=x

    xg

    (%i2) define(dg1(x),(diff(g(x),x,1)));

    (%o2) 3)1(

    2)(1

    !=x

    xdg

    b) (%i3) define(dg2(x),(diff(g(x),x,2)));

    (%o3) 4)1(

    6)(2

    !!=x

    xdg

    c) (%i4) soy: g(0); (%o4) -1 d) (%i5) ev (g(x) = g(-x),pred); A funo no par, porque no verifica: g (x)=g (-x). (%o5) false e) (%i6) is (g(x) = - g(-x)); (%o6) false A funo no impar, porque no verifica: g (x)=- g (-x). f) (%i7) limit (g(x), x, 1, plus); O limite da funo para valores direita de 1 : (%o7) !"

  • Introduo ao MAXIMA-2009 Bruna Santos

    66

    (%i8) limit (g(x), x, 1, minus); O limite da funo para valores esquerda de 1 : (%o8) !"

    Exemplo 5.3-4

    5.4 Primitiva e Integrais:

    O clculo de integrais revela-se de grande importncia em reas como a Fsica e Matemtica. Definio: Se uma funo f contnua e no negativa num intervalo fechado [a,b] , ento a rea da regio delimitada pelo grfico de f, pelo eixo dos x e pelas rectas verticais x=a e x=b dada por:

    !=b

    a

    dxxfrea )(

    Exemplo 1: Calcule a primitiva da funo

    f (x) = sen5x cos x .

    Resoluo: (%i1) f(x):=sin(x)^5 * cos(x); (%o1)

    f (x) = sen5x cos x

    (%i2) Intg:integrate (f(x), x);

    (%o2)6

    sin6x O comando integrate no apresenta a constante de integrao. Desta

    forma, a primitiva da funo a que est indicada a menos da soma de uma constante arbitrria.

    Exemplo 5.4-1

  • Introduo ao MAXIMA-2009 Bruna Santos

    67

    Exemplo 2: A probabilidade de um aluno se lembrar de uma percentagem entre a e b do material apreendido durante uma aula dado por:

    Pa,b

    =15

    7a

    b

    ! x 1" xdx

    , onde x representa a percentagem do contedo lembrado aps a aula. Escolhe-se um aluno aleatoriamente. Determine a probabilidade do aluno se lembrar de 50% a 70 % da matria dada. Represente essa probabilidade graficamente e torne este grfico apelativo atravs da opo impulses. Resoluo: (%i1) p(x): =((15*x)/7)*sqrt(1-x); definio da funo integranda.

    (%o1) xx !17

    15

    (%i2) integrate (p(x), x, 0.50,0.70); calculo de

    P0.50,0.70

    . (%o2) 0.1610680363702

    Exemplo 5.4-2

    (%i3) plot2d([((15*x)/7)*sqrt(1-x), ((15*x)/7)*sqrt(1-x);], [x,0.5,0.7], [style,[lines,1,3], [impulses,1,2]], [legend,"f(x)","Probabilidade"]);

    Exemplo 3: Calcule o integral dxx

    !+

    1

    0

    )1.0

    1sin(

    Resoluo: (%i1) p:sin (1/(x+0.1));

  • Introduo ao MAXIMA-2009 Bruna Santos

    68

    (%o1) )1.0

    1sin(

    +x

    Exemplo 5.4-3

    No possvel resolver analiticamente este integral atravs do comando integrate. Ser necessrio aplicar mtodos numricos para calcular este tipo de integrais.

    O MAXIMA disponibiliza um pacote designado Quadpack. Neste esto presentes uma coleco de comandos que implementam algoritmos para o clculo numrico de integrais definidos, entre os quais o Romberg correspondente ao mtodo com o mesmo nome. Vejamos um exemplo de como utilizar o pacote Quadpack e o comando Romberg: (%i2) quad_qags (p, x, 0, 1); (%o2) [0.59450627843597,1.9863238307029738*10 10! 10,147,0] O comando quad_qags retorna uma lista com quatro elementos onde:

    1. o valor do integral; 2. o erro absoluto estimado; 3. o nmero de avaliaes da funo integranda; 4. um cdigo de erro;

    O cdigo de erro pode tomar 7 valores, que se caracterizam:

    0. Se no foi encontrado nenhum problema 1. Se foram utilizados muitos sub-intervalos. 2. Se foi detectado um erro de arredondamento excessivo. 3. O integral comporta-se de um modo bastante oscilatrio. 4. No houve convergncia. 5. O integral provavelmente divergente ou converge muito lentamente. 6. O integral no vlido.

  • Introduo ao MAXIMA-2009 Bruna Santos

    69

    Vamos explorar o comando Romberg para calcular o valor do integral. Numa primeira estncia temos que chamar o comando para que este fique disponvel na seco para uso do utilizador. Assim, faamos: (%i3) load (romberg); (%o3) C:/Programas/Mxima-5.17.0/share/MAXIMA/5.17.0/share/numeric/romberg.lisp (%i4) romberg (p,x,0,1); (%o4) 0.59450623879744

    5.5 Quadro Resumo: Comandos de Calculo Integral e Diferencial

    Comando Descrio expand (expresso) Expande uma expresso

    factor (expresso) Factoriza a expresso dada,

    independentemente do nmero de variveis, em factores irredutveis.

    subst (a,b,c) Substitui o valor a em b na expresso/funo, c.

    limit (funo, varivel, limite pretendido)

    Calcula o limite de uma funo.

    diff(funo, varivel, n) Calcula a n-sima derivada da funo na varivel pretendida.

    integrate (funo, varivel) ou integrate (funo, varivel, a*, b*)

    a* e b* so os limites de integrao superior e inferior, respectivamente.

    Calcula o integral da funo com ou sem limites de integrao.

    romberg (funo, varivel, a*, b*)

    a* e b* so os limites de integrao superior e inferior, respectivamente.

    Calcula o valor de um integral atravs do mtodo numrico de Romberg.

    Tabela 9: Comandos de calculo diferencial e integral

  • Introduo ao MAXIMA-2009 Bruna Santos

    70

    5.6 Quadro Resumo: Comandos sobre Limites

    No clculo de limites o comando limit usa smbolos especiais, que encontramos descritos no seguinte quadro:

    Smbolo Descrio inf !+

    minf !" plus Calcula o limite de um valor pela direita.

    minus Calcula o limite de um valor pela esquerda.

    Tabela 10: Comandos sobre limites

  • Introduo ao MAXIMA-2009 Bruna Santos

    71

    Capitulo 6.

    Estatstica Descritiva e Probabilidades No h ramo da Matemtica, por mais abstracto que seja, que no possa um dia vir a ser aplicado

    aos fenmenos do mundo real Lobachevsky

  • Introduo ao MAXIMA-2009 Bruna Santos

    72

    O MAXIMA uma valiosa ferramenta em anlise de dados e estatstica. Neste captulo, introduziremos comandos concernentes aos seguintes tpicos:

    Clculo de probabilidades de distribuies discretas; Clculo de probabilidades de distribuies contnuas; Leitura de ficheiros no formato txt; Anlise estatstica de dados; Representao estatstica de dados;

  • Introduo ao MAXIMA-2009 Bruna Santos

    73

    6.1 Distribuies Discretas

    6.1.1 Distribuio Binomial

    Para se efectuar clculos estatsticos no Mxima necessrio chamar o pacote distrib. Em Estatstica, a distribuio binomial til na caracterizao probabilstica do nmero de sucessos em n provas de Bernoulli realizadas de forma independente e com probabilidade de sucesso igual p.

    Exemplo 1: Um fabricante de caixas de parafusos recebeu, numa dada altura, um elevado nmero de queixas quanto qualidade dos parafusos que fabrica. Aps uma anlise de produo verificou-se que 15% dos parafusos saam defeituosos. Sabe-se que cada caixa fornecida aos compradores possui vinte pregos.

    A. Calcule a probabilidade de numa caixa de parafusos: i) Haver apenas um parafuso defeituoso. ii) Haver mais do que trs parafusos defeituosos. B. Calcule o valor esperado de parafusos defeituosos numa caixa. C. Simule uma amostra de quinze valores correspondentes ao nmero de parafusos

    defeituosos contidos em quinze caixas analisadas aleatoriamente e construa o respectivo grfico de barras.

    Resoluo: A. Seja a varivel aleatria X: X= Nmeros de parafusos defeituosos numa caixa de vinte parafusos Distribuio de X: X~Bi(20; 0.15) i) P( X1) (%i1) load(distrib); (%o1)C:/Programas/Mxima-5.17.0/share/MAXIMA/5.17.0/share/contrib/distrib/distrib.mac (%i2) cdf_binomial(1,20,0.15); (%o2) 0.17555787608868

  • Introduo ao MAXIMA-2009 Bruna Santos

    74

    ii) P(X>3)= 1-P( X3) (%i3) 1-cdf_binomial(3,20,0.15); (%o3) 0.352274825843

    Exemplo 6.1-1

    B. (%i4) mean_binomial (20,0.15); (%o4) 3.0 C. (%i5) load (descriptive); (%o5)C:/Programas/Mxima-5.17.0/share/MAXIMA/5.17.0/share/contrib/descriptive/descriptive.mac (%i6) lista: random_binomial (20,0.15,15); (%o6) [5, 2, 1, 6, 2, 3, 2, 1, 5, 1, 4, 4, 3, 3, 3]

    Exemplo 6.1-1

    (%i7) histogram(lista);

  • Introduo ao MAXIMA-2009 Bruna Santos

    75

    6.1.2 Distribuio de Poisson

    A distribuio de Poisson frequentemente usada na contagem de ocorrncias de certo tipo de evento em perodos fixos de tempo. Os eventos podem ser: chegadas, partidas, acidentes, falhas de equipamento, testemunhos verdadeiros em tribunal, etc.

    A distribuio de Poisson tem a particularidade de possuir o valor esperado e a varincia iguais ao parmetro que define a distribuio, .

    Exemplo 2: Numa aldeia existe uma padaria onde vendido um determinado tipo de doce regional. O reabastecimento deste doce feito, com periodicidade semanal, de sete unidades. Uma vez esgotado o stock semanal, o cliente tem que se dirigir a outra padaria. Estudos realizados revelam que a procura semanal do referido doce pelos habitantes da aldeia uma varivel aleatria de Poisson de mdia 5. Cada cliente compra no mximo uma unidade. A. Calcule a probabilidade de numa determinada semana: i) A padaria vender mais que quatro unidades. ii) Haja ruptura de stock. Resoluo: A. Seja a varivel aleatria X: X= Procura semanal do referido doce na padaria Distribuio de X: X~Po(5) i) P( X>4) (%i1) load(distrib); (%o1)C:/Programas/Mxima-5.17.0/share/MAXIMA/5.17.0/share/contrib/distrib/distrib.mac (%i2) 1- cdf_poisson(4,5), numer; (%o2) 0.55950671493479 ii) P( X>7) (%i3) 1- cdf_poisson(7,5), numer; (%o3) 0.13337167407001

    Exemplo 6.1-2

  • Introduo ao MAXIMA-2009 Bruna Santos

    76

    6.2 Distribuies Contnuas

    6.2.1 Distribuio Exponencial A distribuio exponencial uma distribuio contnua aplicada em vrios problemas, nomeadamente, em filas de espera. Esta distribuio definida pelo parmetro , denominado a mdia, que estabelece a mdia de chegadas por hora, por exemplo. Em geral a distribuio exponencial aplicada a servios por unidade de tempo. Exemplo 1: O prazo de operao de uma mquina de embalagens de frascos sem interrupes para manuteno tem distribuio exponencial com mdia de duas horas. A. Qual a probabilidade de essa mquina conseguir operar mais do que uma hora sem interrupo? Resoluo: Seja a varivel aleatria X: X= Tempo entre interrupes (em horas) Distribuio de X: X~Exp() Parmetro :

    !!"

    !!#

    $

    =

    =

    =

    5.0

    21

    2)(:

    %%

    % XE

    P( X1) (%i1) load(distrib); (%o1)C:/Programas/Mxima-5.17.0/share/MAXIMA/5.17.0/share/contrib/distrib/distrib.mac (%i2) 1-cdf_exp (1,0.5); (%o2) 0.60653065971263

    Exemplo 6.2-1

  • Introduo ao MAXIMA-2009 Bruna Santos

    77

    6.2.2 Distribuio Normal A varivel aleatria X tem distribuio Normal com parmetro e se a sua funo densidade de probabilidade dada por:

    2

    2

    1

    2

    1)(

    !"#

    $%& ''

    = (

    )(

    x

    exf , - < x < +

    Os parmetros designam-se por:

    o valor esperado, isto , mdia de x. a varincia de X ( >0).

    A notao para uma distribuio Normal X~N (,). O grfico da funo densidade de probabilidade de uma varivel aleatria com distribuio N (,) a famosa curva em forma de sino, tambm dita curva de Gauss abaixo representada:

    Exemplo 2: O tempo gasto, em minutos, de um exame de Estatstica, tem distribuio Normal. O valor esperado 120 minutos e a varincia 15 minutos. Sorteando um aluno ao acaso, qual probabilidade de que ele demore no mximo 100 minutos a realizar o exame? Resoluo: Seja a varivel aleatria X: X= Tempo de realizao do exame de Estatstica Distribuio de X X~N (120,15). P( X

  • Introduo ao MAXIMA-2009 Bruna Santos

    78

    (%i1) load(distrib); (%o1)C:/Programas/Mxima-5.17.0/share/MAXIMA/5.17.0/share/contrib/distrib/distrib.mac (%i2) cdf_normal (100, 120, 15); (%o2) 0.091211219725868

    Exemplo 6.2-2 Em diversas situaes, dispomos de um conjunto de dados que pretendemos estudar a nvel estatstico para consequentemente tirar concluses. O MAXIMA possui ferramentas que nos ajudam nesta tarefa. Suponhamos que possumos um conjunto de dados num ficheiro de texto, com extenso .txt, referentes temperatura registada durante um determinado nmero de dias numa cidade. A questo como migrar esses dados do ficheiro .txt para o MAXIMA? A resposta simples. Basta apenas seguir os seguintes passos:

    1. Num directrio, escolha do leitor, coloque o ficheiro .txt numa pasta. (Neste exemplo, usou-se o ambiente de trabalho como directrio e a pasta designada por Pasta).

    2. No menu do WxMaxima selecciona-se a opo MAXIMA e em seguida Add to path. Sugira uma janela deste formato:

    3. Surgir na interface do WxMaxima uma linha da forma:

    Aps, a escolha do utilizador selecciona-se

    OK

  • Introduo ao MAXIMA-2009 Bruna Santos

    79

    file_search_MAXIMA : cons(sconcat("C:/Documents and Settings/B/Ambiente de trabalho/Pasta/###.{lisp,mac,mc}"), file_search_MAXIMA);

    4. Carregamos simultaneamente em Shift+Enter; 5.Digita-se o seguinte: (%i1) dados: read_matrix(file_search("D.txt")); 6.Aparecer os dados em forma de matriz.

    (%o2)

    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

    "

    #

    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

    %

    &

    27

    30

    16

    25

    25

    18

    18

    26

    27

    25

    23

    19

    24

    22

    29

    26

    25

    21

    22

    25

    7. Para calcularmos a mdia, mediana, desvio-padro, varincia, etc, necessrio chamar o pacote descriptive. (%i3) load (descriptive); (%o3)C:/Programas/MAXIMA-5.17.0/share/MAXIMA/5.17.0/share/contrib/descriptive/descriptive.mac

    Calculemos:

    Mdia

  • Introduo ao MAXIMA-2009 Bruna Santos

    80

    (%i4) mean(dados), numer; (%o4) 23.65

    Varincia

    (%i5) var(dados), numer;

    (%o5) 13.4275

    Desvio padro: (%i6) std(dados), numer;

    (%o6) 3.66435533211505

    Amplitude da amostra:

    (%i7) range (dados);

    (%o7) 14

    Mediana (%i8) median (dados); (%o8) 25

    Valor Mnimo

    (%i8) mini (dados); (%o8) 16

    Valor Mximo

    (%i9) maxi (dados); (%o9) 30 Podemos obter vrias representaes grficas dos dados:

  • Introduo ao MAXIMA-2009 Bruna Santos

    81

    Representao grfica dos pontos

    (%i10) dataplot (dados);

    Diagrama de barras

    (%i11 ) histogram (dados);

  • Introduo ao MAXIMA-2009 Bruna Santos

    82

    Caixa-de-Bigodes

    (%i12) boxplot (dados);

    6.3 Mtodo de Monte Carlo

    O mtodo de Monte Carlo um mtodo estatstico utilizado em simulaes estocsticas com diversas aplicaes em reas como matemtica, fsica, biologia, etc. Este mtodo tem sido utilizado em aproximaes numricas, nomeadamente no clculo do valor do integral de funes complexas. O mtodo consiste na gerao de uma amostra de nmeros pseudo - aleatrios de alguma distribuio de probabilidade e o uso dessa amostra para calcular o valor do integral como um valor esperado. Consideremos o

    Integral: !=b

    a

    dxxh )(" .

    Quando possvel factorizar a funo, h(x) do seguinte modo: h(x) = g(x)f(x), onde f(x) a funo densidade de probabilidade da varivel aleatria X definida no intervalo

    [a,b], passa a ter: ! ==b

    a

    xgEdxxfxg )]([)()(" .

    Deste modo o problema da avaliao do integral definido simples transforma-se num problema de estimao bastante familiar: a estimao do valor esperado da varivel

  • Introduo ao MAXIMA-2009 Bruna Santos

    83

    aleatria, g(X). Caso se considere que X~Uniforme(a,b), uma estimativa razovel e

    centrada para : n

    xh

    ab

    n

    i

    i!="# 1

    )(

    )($ .

    Exerccio de Aplicao 5: Calcule o valor do integral I= dxx! "1

    0

    214 utilizando o

    mtodo de Monte Carlo - montecarlosimples(a,b,f,n) para n=10000. Resoluo: (%i1) load ("distrib")$ (%i2) load ("descriptive ")$ (%i3) F(x):=4*sqrt(1-x^2)$ (%i3) Integral :mean(F(random_continuous_uniform (0,1,10000))); (%o3) 3.145570252322345

    Exerccio de Aplicao 5: Mtodo de Monte Carlo

    6.4 Quadro Resumo: Comandos de Probabilidade e Estatstica Descritiva

    6.4.1 Distribuies Continuas e Discretas

    Existe uma conveno de nome no pacote distrib. Todos os nomes de funes tm duas partes, a primeira faz referncia funo ou ao parmetro que queremos calcular:

    Funo Comando Funo densidade de probabilidade pdf_*

    Funo distribuio de probabilidade cdf_* Quartil quantile_* Mdia mean_*

    Varincia var_*

  • Introduo ao MAXIMA-2009 Bruna Santos

    84

    Desvio padro std_* Coeficiente de assimetria skewness_*

    Coeficiente de curtose kurtosis_* Varivel estatstica pseudo-aleatria random_*

    A segunda parte uma referncia explcita distribuio que queremos aceder:

    Distribuies: Comando Discretas

    Binomial *binomial Poisson *poisson

    Bernoulli *bernoulli Geomtrica *geometric

    Discreta uniforme *discrete_uniform Contnuas

    Exponencial *exp Normal *normal Student *student_t

    Contnua uniforme *continuous_uniform Pareto *pareto

    6.4.2 Anlise de Dados:

    O pacote descriptive contm um conjunto de comandos para efectuar clculos de estatstica descritiva e desenhar grficos estatsticos.

    Comando Descrio mean (lista/matriz) Calcula a mdia aritmtica de um

    conjunto de dados de uma nica varivel (lista) ou vrias variveis (matriz)

    var (lista/matriz) Calcula a varincia de um conjunto de

    dados, de uma nica varivel (lista) ou vrias variveis (matriz)

    std (lista/matriz) Calcula o desvio-padro de um conjunto de dados, de uma nica varivel (lista) ou

    vrias variveis (matriz) range (lista/matriz) Calcula a diferena entre o maior valor e o

    menor valor de um conjunto de dados median(lista/matriz) Calcula a mdia aritmtica de um

    conjunto de dados que se apresenta sob a forma de matriz ou lista.

    mini(lista/matriz) Acede ao valor mnimo de uma amostra

  • Introduo ao MAXIMA-2009 Bruna Santos

    85

    de dados. maxi (lista/matriz) Acede ao valor mximo de uma amostra

    de dados.

    6.3.3 Representao Grfica de Dados:

    Comando Descrio histogram (lista/matriz com uma coluna,

    apenas, [opes]) Desenha um grfico de um histograma. Podemos escolher opes desde a cor do histograma at ao nmero de classes em que queremos dividir os dados.

    dataplot (lista/matriz) Visualizao directa de dados de amostra de uma nica varivel (lista) ou de vrias variveis (matriz).

    boxplot(lista/matriz) Visualizao directa de dados de amostra de uma nica varivel (lista) ou de vrias variveis (matriz).

  • Introduo ao MAXIMA-2009 Bruna Santos

    86

    Capitulo 7. O MAXIMA como linguagem de programao

    "Todas as mximas j foram escritas. Resta apenas p-las em prtica" - Blaise Pascal

  • Introduo ao MAXIMA-2009 Bruna Santos

    87

    Este captulo dedicado programao numa perspectiva mais abrangente. O MAXIMA pode ser usado de uma forma interactiva, ou seja, instrues de entrada versus respostas de sada, ou como uma linguagem de programao com a formulao de blocos constitudos por vrias instrues e argumentos que posteriormente sero executados fornecendo os resultados previstos. Abordaremos: Instrues de controlo do fluxo de programa:

    Instrues condicionais:

    I. Ifthenend;

    II. Ifthenelseend; Instrues de ciclos:

    I. Forstepthru do;

    II. Forstepwhiledo;

    Formulao de algoritmos com o comando block; Formulao de comentrios dentro de uma clula input atravs dos operadores: /* */

    Os comandos e as capacidades de programao sero utilizados conjuntamente com contedo de captulos anteriores.

  • Introduo ao MAXIMA-2009 Bruna Santos

    88

    7.1 Programao no MAXIMA

    Alm das potencialidades do MAXIMA para realizar clculos numricos e simblicos assim como representaes grficas, tambm possvel implementar algoritmos com o objectivo de optimizar o tempo e o esforo computacional. Assim, podemos voltar a reutilizar os programas formulados quantas vezes forem necessrios.

    7.1.1 Instruo if:

    Para tomar uma deciso numa situao condicional, o MAXIMA tem as instrues: If condio then instruo; End

    Instruo 1: Ifthen..end If condio then instruo1; else instruo 2; end;

    Instruo 2:If theneslseend Exemplo 1: (%i1) a:5; (%o1) 5 (%i2) if a>0 then print("Numero Positivo"); (%o2) Numero Positivo (%i3) b:-2; (%o3) -2 (%i4) if b>0 then print("Numero Positivo") else (Numero Negativo); (%o4) Numero Negativo

    Exemplo 7.1-1

  • Introduo ao MAXIMA-2009 Bruna Santos

    89

    7.1.2 Instruo: for...end:

    for varivel:valor1 step valor 2 thru valor 3 do instruo;

    Instruo 3:forstepthrudo Outra possibilidade de controlar as iteraes com a verso: for varivel:valor1 step valor2 while condio do instruo;

    Instruo 4: forstepwhiledo Exemplo 2: /* Calcula o quadrado dos nmeros impares no intervalo de 1 at 10 */ (%i1) for i:1 step 2 thru 10 do print (i^2);

    (%o1)

    !!!!!!!!

    "

    #

    done

    81

    49

    25

    9

    1

    Exemplo 7.1-2

    7.1.3 Instruo block:

    No entanto, se desejarmos utilizar comandos para definir procedimentos muito mais elaborados que englobem sequncias de instrues, devemos utilizar a instruo block, cuja estrutura : Nome_do_comando(argumento1,argumento2,...,argumentok):=block ( [varivel_local1, varivel_local2,, varivel_localk ], instruo1, instruo2, . . . instruo n );

    Instruo 5: Instruo block

  • Introduo ao MAXIMA-2009 Bruna Santos

    90

    Exemplos: 1) Programa que calcula a rea e o permetro de um crculo de raio r: (%i1) circulo(r):=block([rea, perim