Se
você
chegou nesta página deveria estar com o Maxima instalado em seu PC
(senão instale
!!!).
Se você ainda não está familiarizado com um CAS (Computer Algebra
System:
Sistema de Computação Algébrica) Maxima oferece uma excelente
oportunidade para resolver essa carência.
Quando comece a transitar por este Tutorial você começará a
perceber que está lidando com uma ferramenta matemática que
será de
grande ajuda em sua carreira como estudante. Maxima é muito
amigável e um
passeio por este tutorial mínimo pode ajudar a eliminar aquelas duvidas
sobre
se o investimento em aprender a usar um software matemático terá um bom
retorno, são apenas 10 minutos que o colocarão no caminho
certo.
Este Tutorial oferece uma abordagem prática e rápida onde é mostrado
como
resolver computacionalmente alguns problemas mais comuns
encontrados em
Cálculo, Álgebra Linear, etc. Claro que é apenas a ponta do iceberg.
Uma vez
que você tenha transitado por este tutorial o próximo passo será
visitar o site
oficial
de Maxima.
Usando Maxima como
uma
calculadora
Você
pode
usar Maxima como uma calculadora cuja precisão dependerá do
hardware
instalado em seu PC. O promt do Maxima aguardará que você
ingresse
um ou mais comandos e expressões separadas por ponto e vírgula (;),
exatamente como você faria em qualquer linguagem de programação.
(%i1) 9+7;(%o1)
(%i2) -17*19;
(%o2)
(%i3) 10/2;
(%o3)
Maxima
permite fazer referência ao último resultado através do caractere
%
, e
também a qualquer entrada ou saída através de seu respectivo promt %i
(input:
entrada) ou %o
(output: saída). Por exemplo:
(%i4) % - 10;(%o4)
(%i5) %o1 * 3;
(%o5)
(Obs.: Com
o
intuito de que os comandos e expressões nos próximos exemplos fiquem
visualmente mais simples e claros, omitiremos por agora a
numeração de
entradas e saídas retornadas pelo Maxima indicando a saída com o sinal
de
implicação =>
.)
Quando o numerador e denominador são inteiros, é devolvida
uma
expressão como uma fração reduzida o um inteiro. Esse resultados podem
ser re-calculados em ponto flutuante usando o comando float
(ou
bfloat
para números grande em ponto
flutuante):
8/2;=>8/2.0;=>2/6;=>float(1/3);=>1/3.0;=>26/4;=>float(26/4);=>
Como
foi
dito, números grandes não são um problema:
13^26;=>13.0^26=>30!;=>float((7/3)^35);=>
Constantes
e funções
mais usuais
Aqui
temos
uma lista das constantes em Maxima, :
§
%e
- Número de Euler
§
%pi
- ![]()
§
%phi
- a seção dourada (
)
§
%i
- a unidade imaginária (
)
§
inf
- infinito positivo (
)
§
minf
- infinito negativo (
)
§
infinity
- infinito complexo
Algumas
das funções mais usadas:
sin(%pi/2) + cos(%pi/3);=>tan(%pi/3) * cot(%pi/3);=>float(sec(%pi/3) + csc(%pi/3));=>sqrt(81);=>log(%e);=>
Definindo
funções e
variáveis
As
variáveis podem ser designadas usando dois pontos ‘:’
e as
funções ‘:=’.
A seguinte sequência mostra como usá-las:
a:7; b:8;=>=>sqrt(a^2+b^2);=>f(x):= x^2 -x + 1;=>f(3);=>f(a);=>f(b);=>
Observamos
que Maxima calcula por default o logaritmo natural entanto que a
função log 10
não está definida e
deve ser calculada como se mostra a seguir:
log10(x):= log(x)/log(10);=>log10(10)=>
Cálculos
Simbólicos
O
comando factor
possibilita a fatoração de um número:
factor(30!);=>
Podemos
fatorar um polinômio:
factor(x^2 + x -6);=>
Fazer
a
expansão:
expand((x+3)^4);=>
Simplificar
expressões racionais:
ratsimp((x^2-1)/(x+1));=>
Simplificar
expressões trigonométricas:
trigsimp(2*cos(x)^2 + sin(x)^2);=>
Expandir
expressões trigonométricas:
trigexpand(sin(2*x)+cos(2*x));=>
Para
obter
a representação em LaTeX de uma expressão dada,
usamos
o comando tex
:
tex(%);=> $$-\sin ^2x+2\,\cos x\,\sin x+\cos ^2x$$
Resolvendo
Equações e
Sistemas
Com
o
comando solve
podemos resolver equações e sistemas de equações :
solve(x^2-4,x);=>%[2]=>solve(x^3=1,x);=>trigsimp(solve([cos(x)^2-x=2-sin(x)^2], [x]));=>solve([x - 2*y = 14, x + 3*y = 9],[x,y]);=>
Gráficos
em 2D e 3D
Maxima
faz
gráficos bi e tri-dimensionais, e também múltiplos gráficos em uma
mesma folha.
Os comandos plot2d
e plot3d
são
usados nos exemplos abaixo. O segundo e no caso de plot3d,
o
terceiro parâmetro, define o intervalo de variação de x e y
respectivamente
e define qual é a parte do gráfico que será mostrada.
plot2d(x^2-x+3,[x,-10,10]);

plot2d([x^2, x^3, x^4 -x +1] ,[x,-10,10]);

f(x,y):= sin(x) + cos(y);plot3d(f(x,y), [x,-5,5], [y,-5,5]);

Limites
limit((1+1/x)^x,x,inf);=>%limit(sin(x)/x,x,0);=>limit(2*(x^2-4)/(x-2),x,2);=>limit(log(x),x,0,plus);=>limit(sqrt(-x)/x,x,0,minus);=>
Diferenciação
diff(sin(x), x);=>diff(x^x, x);=>
É
possível
calcular derivadas de maior ordem acrescentando o número
correspondente
como um argumento do comando diff
:
diff(tan(x), x, 4);=>
Integração
Maxima
oferece realizar várias formas de integração. Para encontrar a
primitiva de uma
função use integrate:
integrate(1/x, x);=>
Para
calcular uma integral definida, devemos especificar os limites de
integração
como os últimos parâmetros:
integrate(x+2/(x -3), x, 0,1);=>integrate(%e^(-x^2),x,minf,inf);=>
Também
a
integral definida pode ser obtida aproximadamente usando um método
numérico(por
ex. romberg):
romberg(cos(sin(x+1)), x, 0, 1);=> 0.57591750059682
Somas
e Produtos
sum
e product
são duas
funções para realizar somatórios e produtórias. A opção simpsum
simplifica a soma quando for possível.
sum(k, k, 1, n);=>sum(k, k, 1, n), simpsum;=>sum(1/k^4, k, 1, inf), simpsum;=>fact(n):=product(k, k, 1, n);=>fact(10);=>
Expansão
em Séries
A
representação de uma função em série de potências pode ser obtida
usando a
expansão de Taylor (o último parâmetro define a ordem da série),
os
comando usados são taylor
ou powerseries:
niceindices(powerseries(%e^x, x, 0));=>taylor(%e^x, x, 0, 5);=>
O
comando
trunc
combinado
com
plot2d
é
usado quando a expansão precisamos graficar a série:
plot2d([trunc(%), %e^x], [x,-5,5]);

O
material
desta página pretende apenas mostrar as facilidades que oferece o uso
de um
software como Maxima. Os sistemas de computação algébrica são
ferramentas
poderosas para resolver problemas e testar resultados e o tempo
que você
terá investido terá um retorno muito maior que o esperado.

![\displaystyle \left[ x={{\sqrt{3}\,i-1}\over{2}} , x=-{{\sqrt{3}\,i+1}\over{2}} , x=1 \right]](d6fee10c9270a09a696c50c5779b8e33.png)