Introdução ao Maxima (Manual do Maxima 5.45.0)

Próximo: Detecção e Relato de Erros, Anterior: Top, Acima: Top [Conteúdo][Índice]

## 1, Introdução ao Maxima

O Maxima inicia-se executando alguma das suas interfaces gráficas ou numa consola, com o comando "maxima". No início Maxima mostra informação do número de versão e uma linha de entrada de comando, identificada por `(%i1)` (entrada número 1). Cada comando deve terminar-se com ponto e vírgula “`;`”, para que seja executado e apareça a resposta, ou com “`$`”, para que seja executado sem aparecer a resposta. Para terminar a sessão usa-se o comando “`quit`();”. Normalmente, as teclas `Ctrl-d` (Ctrl e d em simultâneo) servem como atalho para terminar a sessão. Eis um exemplo de uma sessão no Maxima:

    $ maxima
    Maxima 5.34.1 http://maxima.sourceforge.net
    using Lisp SBCL 1.1.14.debian
    Distributed under the GNU Public License. See the file COPYING.
    Dedicated to the memory of William Schelter.
    The function bug_report() provides bug reporting information.

    (%i1) factor (10!);
                                 8  4  2
    (%o1)                       2  3  5  7

    (%i2) expand ((x + y)^6);
           6        5       2  4       3  3       4  2      5      6
    (%o2) y  + 6 x y  + 15 x  y  + 20 x  y  + 15 x  y  + 6 x  y + x

    (%i3) factor (x^6 - 1);
                                   2            2
    (%o3)        (x - 1) (x + 1) (x  - x + 1) (x  + x + 1)

    (%i4) quit();
    $

Maxima pode procurar informação nas páginas do manual. Usa-se o comando `describe` para mostrar todas as funções e variáveis relacionadas com o termo de pesquisa e opcionalmente a sua documentação. O símbolo de interrogação `?` é uma abreviatura para `describe`:

    (%i1) ?? integer
     0: askinteger  (Functions and Variables for Facts)
     1: askinteger <1>  (Functions and Variables for Facts)
     2: askinteger <2>  (Functions and Variables for Facts)
     3: askinteger <3>  (Functions and Variables for Facts)
     4: beta_args_sum_to_integer  (Gamma and factorial Functions)
     5: integer  (Functions and Variables for Properties)
     6: integer_partitions  (Functions and Variables for Sets)
     7: integer_partitions <1>  (Functions and Variables for Sets)
     8: integerp  (Functions and Variables for Numbers)
     9: integervalued  (Functions and Variables for Properties)
     10: noninteger  (Functions and Variables for Properties)
     11: nonnegintegerp  (Functions and Variables for Numbers)

    Enter space-separated numbers, `all' or `none': 0

     -- Function: askinteger (<expr>, integer)
     -- Function: askinteger (<expr>)
     -- Function: askinteger (<expr>, even)
     -- Function: askinteger (<expr>, odd)

         'askinteger (<expr>, integer)' attempts to determine from the
         'assume' database whether <expr> is an integer.  'askinteger'
         prompts the user if it cannot tell otherwise, and attempt to
         install the information in the database if possible.  'askinteger
         (<expr>)' is equivalent to 'askinteger (<expr>, integer)'.

         'askinteger (<expr>, even)' and 'askinteger (<expr>, odd)' likewise
         attempt to determine if <expr> is an even integer or odd integer,
         respectively.

    (%o1)                    true

Para usar um resultado em cálculos posteriores, pode atribuir-se esse valor a uma variável ou usar-se a etiqueta `%o`n, onde n é o número da saída. Adicionalmente, `%` refere-se sempre ao resultado mais recente:

    (%i1) u: expand ((x + y)^6);
           6        5       2  4       3  3       4  2      5      6
    (%o1) y  + 6 x y  + 15 x  y  + 20 x  y  + 15 x  y  + 6 x  y + x

    (%i2) diff (u, x);
              5         4       2  3       3  2       4        5
    (%o2)  6 y  + 30 x y  + 60 x  y  + 60 x  y  + 30 x  y + 6 x

    (%i3) factor (%o2);
                                         5
    (%o3)                       6 (y + x)

Maxima tem conhecimento sobre números complexos e constantes numéricas:

    (%i1) cos(%pi);
    (%o1)                           - 1

    (%i2) exp(%i*%pi);
    (%o2)                           - 1

Maxima pode fazer contas de cálculo diferencial e integral:

    (%i1) u: expand ((x + y)^6);
           6        5       2  4       3  3       4  2      5      6
    (%o1) y  + 6 x y  + 15 x  y  + 20 x  y  + 15 x  y  + 6 x  y + x

    (%i2) diff (%, x);
              5         4       2  3       3  2       4        5
    (%o2)  6 y  + 30 x y  + 60 x  y  + 60 x  y  + 30 x  y + 6 x

    (%i3) integrate (1/(1 + x^3), x);
                                       2 x - 1
                     2            atan(-------)
                log(x  - x + 1)        sqrt(3)    log(x + 1)
    (%o3)     - --------------- + ------------- + ----------
                       6             sqrt(3)          3

Maxima pode resolver sistemas lineares de equações e equações cúbicas:

    (%i1) linsolve ([3*x + 4*y = 7, 2*x + a*y = 13], [x, y]);
                             7 a - 52        25
    (%o1)               [x = --------, y = -------]
                             3 a - 8       3 a - 8

    (%i2) solve (x^3 - 3*x^2 + 5*x = 15, x);
    (%o2)        [x = - sqrt(5) %i, x = sqrt(5) %i, x = 3]

Maxima pode também resolver sistemas de equações não lineares. Note-se os comandos terminados com `$`, que não mostram o resultado obtido.

    (%i1) eq_1: x^2 + 3*x*y + y^2 = 0$
    (%i2) eq_2: 3*x + y = 1$

    (%i3) solve ([eq_1, eq_2]);
                  3 sqrt(5) + 7      sqrt(5) + 3
    (%o3) [[y = - -------------, x = -----------],
                        2                 2
                                     3 sqrt(5) - 7        sqrt(5) - 3
                                [y = -------------, x = - -----------]]
                                           2                   2

Maxima pode gerar gráficos de uma ou mais funções:

    (%i1) plot2d (sin(x)/x, [x, -20, 20])$

    (%i2) plot2d ([atan(x), erf(x), tanh(x)], [x, -5, 5], [y, -1.5, 2])$

    (%i3) plot3d (sin(sqrt(x^2 + y^2))/sqrt(x^2 + y^2),
             [x, -12, 12], [y, -12, 12])$

Próximo: Detecção e Relato de Erros, Anterior: Top, Acima: Top [Conteúdo][Índice]