Celulares tecnologia assuntos variados PontoABC já

Maxima para calculos matematicos

Cutucando o maxima

Neste poste iremos dar uma idéia geral do programa maxima , uma melhor
noção doque a que dei no outro poste. E no proximo irei falar sobre o sympy que roda sobre o python.


Bom, no maxima é bem simples calcular limites e derivadas e também integrais.
Podemos bem como fazer algumas coisas como fatorar , e resolver equações.
O maxima é um programa para calculo s matematicos cujo o projeto foi iniciado
há muitos anos atrás. Ele é primariamente escrito em lisp que é uma linguagem
usada no paradigma funcional na maioria das vezes embora seja uma linguagem procedural também.
Enfim, o maxima é um ótimo programa para usar quando se quer ter um apoio na solução
de algums problemas de calculo . Embora, é claro, ele não resolva todo o trabalho.
Muitas vezes teremos de interagir com ele, ensinando-o oque deve ser feito.

Vamos aos primeiros passos.

A função expand.

tau@spin:~/job/build$ maxima

Maxima 5.21.1 http:// maxima .sourceforge.net
using Lisp GNU Common Lisp (GCL) GCL 2.6.7 (a.k.a. GCL)
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) expand((x + 1)^2);
2
(%o1) x + 2 x + 1
(%i2)

Não esqueça o ; pois cada statement no maxima termina com o ; como no C.

(%i2) expand((x+2)^3);
3 2
(%o2) x + 6 x + 12 x + 8
(%i3)

Perceba que o prompt do maxima muda constantemente, voce pode usar aqueles indices
para recupar dado da tela, irei mostrar como embreve.

(%i3) expand((x + 1)^2 + (x-2)^3);
3 2
(%o3) x - 5 x + 14 x - 7
(%i4)

Existe também uma função expand que funciona com funções trigonometricas
e é muito interessante para resolver alguns problemas.

(%i6) trigexpand(sin(2*b));
(%o6) 2 cos(b) sin(b)
(%i7) trigexpand(sin(a+b));
(%o7) cos(a) sin(b) + sin(a) cos(b)
(%i8)

(%i8) trigexpand(tan(a+b+c));
- tan(a) tan(b) tan(c) + tan(c) + tan(b) + tan(a)
(%o8) ---------------------------------------------------
- tan(b) tan(c) - tan(a) tan(c) - tan(a) tan(b) + 1
(%i9)


Agora que sabemos expandir coisas com o maxima , e se quisessemos
fatora-las ?

È simples, usariamos a função factor

(%i14) expand((a+b+c)^4);
4 3 3 2 2 2 2 2 3
(%o14) c + 4 b c + 4 a c + 6 b c + 12 a b c + 6 a c + 4 b c
2 2 3 4 3 2 2 3 4
+ 12 a b c + 12 a b c + 4 a c + b + 4 a b + 6 a b + 4 a b + a
(%i15) factor(%o14);
4
(%o15) (c + b + a)
(%i16)

Primeiro expandimos o (a+b+c)^4 e depois fatoramos de volta. Fantastico não ?
Veja que o %o14 corresponde a linha do output para o input i14.
Assim, voce pode facilitar a vida usando a shorthand %linha

Se tivessemos frações e quisessemos coloca-los na forma numerador/denominador

seria


(%i21) ratsimp(x^2 + 2*x/x^8 + 1/(x + 2));
10 9 7
x + 2 x + x + 2 x + 4
(%o21) -------------------------
8 7
x + 2 x
(%i22)


O mesmo para funções trigonometricas, ou seja trigsimp.

(%i22) trigsimp(sin(x)^2 + cos(x)^2);
(%o22) 1
(%i23)

Ele tenta simplificar as expressões ou seja, coloca-las na maneira mais simples possivel.

(%i23) trigsimp(sin(x)^2 + cos(x^2) + tan(x)^2);
2 2 4
cos (x) cos(x ) - cos (x) + 1
(%o23) -----------------------------
2
cos (x)
(%i24)

(%i30) solve(x^3 - 2*x^2 - 4*x - 1 = 0);
sqrt(13) - 3 sqrt(13) + 3
(%o30) [x = - ------------, x = ------------, x = - 1]
2 2
(%i31)


A função solve resolve alguns tipos de equações.

Por hoje é só !

Nos proximos posts irei explicar melhor o funcionamento do maxima.
Até lá.

0 comentários:

Postar um comentário

Faça o seu comentário e nos siga no Twitter