Estudantes de matemática, física, engenharia, economia e outros com envolvimento com programação ou computação científica, provavelmente, usam ou devem usar o MATLAB. E se estiver usando o Linux?! Sem problemas, o sistema Linux, como qualquer outro sistema, possui alternativas open sources para o MATLAB. Portanto, conheça algumas alternativas.
MATLAB
MATLAB (MATrix LABoratory) trata-se de um software interativo de alta performance voltado para o cálculo numérico. O MATLAB integra análise numérica, cálculo com matrizes, processamento de sinais e construção de gráficos em ambiente fácil de usar onde problemas e soluções são expressos somente como eles são escritos matematicamente, ao contrário da programação tradicional – vide Wikipedia.
Contudo, ele é uma ferramenta proprietária. Sem acesso ao seu código fonte. Também é caro para muitas pessoas, principalmente para um estudante acadêmico, onde as taxas de licença para uma única cópia podem chegar a cifras muito altas :/
Felizmente, existem muitas alternativas de código aberto para essa solução. Dependendo de qual seja seu objetivo, você pode ajustar, adequadamente, as suas necessidades:
Alternativas open sources para o MATLAB
22 aplicações científicas para Linux – Eletrônica, Estatística, Física e mais
5 Alternativas open source para o AutoCAD
1 – FreeMat
Programa interativo similar ao Matlab voltado para o cálculo numérico, engenharia e aplicações científicas. Indiciado para prototipagem científica e processamento de dados. Está disponível sob a licença GPL.
Além de suportar muitas funções do MATLAB e algumas funcionalidades da linguagem IDL, o programa apresenta uma interface sem códigos para interface externa em C, em C++ e em Fortran, além do desenvolvimento distribuído de algoritmos, através do padrão MPI. Possui capacidades de plotagem e de visualização 3D. Também apresenta uma interface intuitiva similar àquela usada no MATLAB.
2 – Julia
Julia é uma linguagem de programação dinâmica de alto nível projetada para atender os requisitos da computação de alto desempenho numérico e científico, sendo também eficaz para a programação de propósito geral. Julia é escrito em C, C++, e Scheme, usando a estrutura do compilador LLVM, enquanto a maior parte da biblioteca padrão de Julia é implementado na própria Julia.
O desenvolvimento de Julia começou em 2009 e uma versão de código aberto foi divulgado em fevereiro de 2012. Julia se inspira significativamente em Matlab e várias sintaxes de Lisp , incluindo Scheme e Common Lisp , e compartilha muitas características com Dylan – uma outra linguagem dinâmica múltipla orientada a expedição com a sintaxe – e Fortress (linguagem de programação), outra linguagem de programação numérica com expedição múltipla e um sofisticado sistema de tipo paramétrico.
Em resumo, Julia é uma linguagem de uso geral, open-source, direcionada diretamente à computação científica, com a sensação de alto nível de Python, a facilidade de uso numérico de Matlab, a velocidade do C compilado e a sofisticação de meta-programação CS de Lisp. É uma combinação robusta de capacidades que abre um novo mundo de possibilidades na computação científica 😉
3 – Maxima
É um Sistema de álgebra computacional de manipulação de expressões simbólicas e numéricas, incluindo diferenciação, integração, expansão em série de Taylor, transformadas de Laplace, equações diferenciais, entre outras. Pode ainda traçar gráficos de funções e dados em duas ou três dimensões.
Maxima produz resultados numéricos de alta precisão usando frações exatas, inteiros de precisão arbitrária e números de ponto flutuante de precisão variável. Maxima pode plotar funções e dados em duas e três dimensões.
4 – Sage
SageMath é um software livre matemático e de código aberto (open-source), desenvolvido sob a licença GPL por uma comunidade de programadores e matemáticos, que busca ser uma alternativa para os principais sistemas proprietários de software matemático como o Magma, Maple, Mathematica e Matlab.
Construído em cima de uma variedade de bibliotecas de computação científica baseada em Python, e a sua linguagem de programação é semelhante ao Python. Ele tem muitos recursos, incluindo uma interface de linha de comando, notebooks baseados em navegador, ferramentas para incorporar fórmulas em outros documentos e, claro, muitas bibliotecas matemáticas.
Além disso, possui um serviço de Cloud (Sage Cloud); com todos os benefícios inclusos.
5 – Scilab
O Scilab é um software científico para computação numérica semelhante ao MATLAB que fornece um poderoso ambiente computacional aberto para aplicações científicas. É outra opção de código aberto para computação numérica que funciona em todas as principais plataformas: Windows, Mac e Linux.
É muito semelhante ao MATLAB em sua implementação, embora a compatibilidade exata não seja um objetivo dos desenvolvedores do projeto. O Scilab é distribuído como código aberto sob a licença CeCILL, uma licença compatível com GPL, e seu código-fonte está disponível no site do projeto.
6 – SciPy & NumPy
SciPy (pronunciado “Sigh Pie”) é um software de código aberto para matemática, ciência e engenharia. É também o nome de uma conferência muito popular sobre programação científica com Python. A biblioteca SciPy depende de NumPy, que fornece manipulação de matriz N-dimensional rápida.
SciPy baseia-se no objeto de matriz NumPy e faz parte da pilha NumPy que inclui ferramentas como Matplotlib, pandas e SymPy. Existe um conjunto de bibliotecas de computação científica em expansão que estão sendo adicionadas à pilha NumPy todos os dias. Esta pilha NumPy tem usuários semelhantes a outros aplicativos como MATLAB, GNU Octave e Scilab. A pilha NumPy também é às vezes referida como a pilha SciPy.
A biblioteca SciPy é atualmente distribuída sob a licença BSD, e seu desenvolvimento é patrocinado e apoiado por uma comunidade aberta de desenvolvedores. Também é apoiado pela Numfocus, que é uma fundação comunitária para apoiar a ciência reproduzível e acessível.
7 – Octave
GNU Octave é uma linguagem de alto nível interpretada, destina-se principalmente para cálculos numéricos. Talvez, o mais popular entre as alternativas apresentadas.
Em desenvolvimento ativo por quase 3 décadas, o GNU Octave é executado tanto no Windows, Mac e Linux, e é empacotado para a maioria das principais distribuições. Se você estiver procurando por um projeto que seja o mais próximo possível da linguagem MATLAB possível, o GNU Octave pode ser uma boa opção para você. Pois, é foco do projeto ter compatibilidade exata com o MATLAB 😉
Inclusive, projetos desenvolvidos para MATLAB podem ser executados no GNU Octave sem nenhuma modificação necessária. Além disso, ele fornece recursos para a solução numérica de problemas lineares e não lineares, e para realizar outros experimentos numéricos. Ele também fornece uma extensa capacidade de gráficos para visualização e manipulação de dados.
Octave é normalmente utilizado por meio de sua interface de linha de comando interativo, mas também pode ser usado para escrever programas não-interativas. A linguagem Octave é bastante semelhante ao Matlab para que a maioria dos programas são facilmente portáteis.
8 – Python
Regularmente, em grupos de pesquisa, muitos fazem uso do Python em vez do MATLAB. O ecossistema Python científico, com bibliotecas específicas, está amadurecido ao ponto de ser uma alternativa atraente ao MATLAB. Tanto porque é livre, de código aberto, e muito poderoso.
Python é uma linguagem de programação. Foi lançada por Guido van Rossum em 1991. Atualmente, possui um modelo de desenvolvimento comunitário, aberto e gerenciado pela organização sem fins lucrativos Python Software Foundation. A implementação mais comum é em C (também conhecido como CPython) e é o que chamamos como “Python” 😉
Além da linguagem de programação, Python também consiste em uma extensa biblioteca padrão. Esta biblioteca destina-se a programação em geral e contém módulos para o material específico, threading, redes, bases de dados, etc. Inclusive, cálculos matemáticos
Para fazer computação científica em Python, você precisa de pacotes adicionais (por exemplo, Numpy, Scipy, Matplotlib). Além disso, você precisará de um IDE. Muitos usuários vêm de um ambiente Linux e usam um shell Python e um editor (como vi ou Emacs), mas as pessoas que vêm de Matlab preferem um IDE rica em recursos.
Cada pacote está sendo desenvolvido por um grupo de pessoas diferentes (mas muitas vezes sobrepostas), que também são usuários do pacote. Muitos pacotes estão disponíveis para diferentes propósitos. Neste ecossistema de código aberto, a maioria dos pacotes é dirigida por um punhado de desenvolvedores principais, mas muitos usuários de um pacote contribuem para o desenvolvimento por meio de relatórios de problemas, ajudando na documentação e fazendo pequenas melhorias no código.
Assim, o Python é uma excelente alternativa ao MATLAB \o/
Via | OpenSource.com