Algumas Alternativas ao Matlab

O Matlab é o cavalo de batalha de muitos cientistas e engenheiros, mas há alternativas que podem ser exploradas. Aqui ficam algumas alternativas ao Matlab sem nenhuma ordenação em particular.

Scilab

Octave

JMathLib – Um clone Java do Octave, SciLab e Matlab

TeLa the Tensor Language

Algae

Lush (Lisp Universal SHell)

Yorick

Rlab

Maxima

Euler

S-Lang library

Python com NumPy e SciPy

The R Project for Statistical Computing – um dos meus favoritos!

Conclusão

A escolha de cada um vai depender muitas vezes de outros factores que não simplesmente as características técnicas de cada programa, sendo que a integração destas ferramentas no ciclo de trabalho normal do cientista e da sua equipa, do tempo para aprendizagem do novo programa/linguagem ou a possibilidade de suporte local ou remoto, poderão eliminar algumas opções. A verdade é que as ferramentas existem, o interessante é que se faz com elas.

Atractores de Hénon

Ando a brincar com atractores no Matlab. Hoje explorei hoje o chamado atractor de Hénon (do trabalho de Michael Hénon) que pode ser descrito por:

henon_atractors

O resultado deste atractor é que o pontos vão-se distribuindo aleatoriamente, até que se começa a perceber que essa distribuição afinal não é tão aleatória como isso e que se vai formando no ecrã uma linha (ou camadas de linhas quase sobrepostas). Levado ao infinito verifica-se que a linha funciona como atractor dos pontos que vão sendo gerados.

Henon_Atractorsvv

De facto, esta curva quando ampliada revela que se desdobra em duas e estas novamente ampliadas desdobram-se em mais duas, assim sucessivamente ad infinitum. O extraordinário é que quando se geram os pontos, eles parecem surgir aleatoriamente, não se sabendo onde surgirá o seguinte, apenas se sabendo que surgirá perto do atractor.

Um código simples para gerar estes atractores em Matlab segue abaixo:

henon.m ax=[]; ay=[]; for i=0:10000; xplus=y+1-1.4x^2; yplus=0.3x; y=yplus; x=xplus; ax=[ax; x]; ay=[ay; y]; end plot(ax, ay, '.');

Para correr este código basta definir um x e um y iniciais e depois chamar a ficheiro henon.m a partir da prompt do Matlab, gerando 10 000 pontos.