Não há dúvida que computadores auxiliam em cálculos, afinal, foi para isso que eles foram feitos. Podemos com poucas linhas de código ter um programa que nos auxilie a encontrar a raíz de uma função do segundo grau, mas se então quiséssemos fazer mais alguma coisa com esse resultado, teríamos que escrever mais código. Dependendo do problema, mais algumas poucas linhas e o resolveríamos. No entanto alguns são mais complicados e parar o raciocínio para escrever código pode atrapalhar nossa concentração.
Seria muito mais interessante ter uma línguagem que nos livrasse de problemas de abstração matemática e permitisse que simplesmente resolvessemos o problema. Isso existe, mas infelizmente a maioria dos programas que fazem esse tipo de coisa são bastante caros. Como exemplos temos o Mathematica e o MathLAB.
Felizmente o pessoal do Open Source não nos deixou na mão e criou um programa semelhante, chamado Maxima.
Após instalado, podemos chamá-lo rodando (se você quiser plotar gráficos, terá que ter o GNU plot instalado também) :
(x)maxima
Eu tenho alguns problemas com o teclado no ‘xmaxima’, então tenho usado o ‘maxima’ que roda do terminal. Se você quiser plotar gráficos, terá que ter o GNU plot instalado também.
Agora estamos no interpretador do maxima. Ele pode ser usado como uma calculadora comum:
(%i1) 2+2;
(%o1) 4
(%i2) %*7;
(%o2) 28
(%i3) %o2;
(%o3) 28
Usamos % para usar o resultado anterior, como você pode ver na terceira linha, ou podemos usar % e o código que aparece entre parenteses para recuperar um outro resultado.
Se quisermos declarar uma variável, usamos:
y:5;
Já se quisermos definir uma função:
f(x):=x²-6*x+7;
f(2);
Podemos inclusive declarar uma matriz:
A:matrix([1,2,3],[4,5,4],[3,2,1]);
B:matrix([1,0,0],[0,1,0],[0,0,1]);
E depois podemos somá-las, multiplicá-las, achar a inversa e calcular o determinante:
A + B;
A . B;
A^^-1;
determinant(B);
Um detalhe interessante: o Maxima aceita incógnitas em meio aos calcúlos:
C:matrix([1,q],[3,p]);
D:matrix([1,0],[0,1]);
C + D;
Outra coisa interessante: o Maxima resolve equações:
solve(x^2-6*x+7,x);
solve(2*x=6,x);
Para sair:
quit();
No próximo artigo mostrarei plotagem de gráficos, funções trigonométricas e de cálculo (limite, integral, derivada).