Estou tentando encontrar uma alternativa para o MATLAB e até agora encontrei:
- Oitava GNU
- Spyder
- FreeMat
- Scilab
Estou tentando descobrir qual é a melhor alternativa para o MATLAB. Estou particularmente preocupado com o desempenho e a integridade dos resultados.
Respostas:
Bem, você está em um deleite. Eu usei todas as linguagens de programação / software que você mencionou. FreeMat e Spyder com os quais não tenho muita experiência, mas tenho alguns. Os outros em que tenho experiência.
O GNU Octave de longe melhora a concorrência. Sua sintaxe tem uma compatibilidade extrema com a do MATLAB . As únicas diferenças, pelo menos, estou ciente, além da caixa de ferramentas ímpares, que você pode tentar substituir pelos pacotes aqui é que o GNU Octave pode definir funções na linha de comando.
Não sei se você conhece o QtOctave . O QtOctave é um front-end (GUI) para a linguagem de programação GNU Octave. O QtOctave também vem com um editor.
O Scilab também é um substituto adequado para o MATLAB. Ele tem algumas diferenças em termos de sintaxe, mas nada que você não consiga entender se pesquisar a documentação que o acompanha.
O FreeMat é o pior, na minha opinião, pelo menos, dos softwares com sintaxe fortemente baseados no MATLAB. Minha evidência disso é de três partes: em primeiro lugar, no centro de software, ele recebe a classificação por estrelas mais baixa dos quatro softwares em questão. Segundo, não é atualizada com freqüência, a versão mais recente do centro de software foi atualizada pela última vez em 2008. Terceiro, como resultado da minha segunda evidência, suas funções estão um pouco atrasadas. O lado positivo, no entanto, é que sua sintaxe é altamente compatível com os do MATLAB.
Eu usei o Spyder , mas apenas por pouco tempo estou com medo. Parece de alta qualidade. O problema é que ele tem compatibilidade limitada apenas com o MATLAB, em termos de sintaxe. Requer que você aprenda um pouco da linguagem de programação Python, ou seja, se você planeja se sair bem.
Eu também recomendaria o SageMath , pois inclui o GNU Octave, (se já estiver instalado no seu sistema) Scilab, (se você já o tiver instalado) Numpy, [Numpy e o resto mencionado, a menos que especificado de outra forma, vêm com o Sage e, portanto, nenhuma instalação é necessária ] Scipy, Matplotlib, maxima, fortran entre muitos outros. O SageMath pode ser baixado no site http://www.sagemath.org/download-linux.html e selecionando um espelho adequado, com base em onde você está e depois instalando o arquivo .tar.lzma relevante. Após esta cópia e cole os seguintes comandos no terminal (ctrl + alt + T):
Onde 'x' se refere aos bits do seu sistema operacional; 'y' refere-se à versão do Ubuntu para a qual o sábio foi projetado (por exemplo, 10.04_lts; 12.04_lts (o _lts é necessário em 'y'), etc.); 'z' refere-se à arquitetura do seu sistema operacional. (i386, amd64 etc.)
fonte
De todos os que você listou, o Octave é o mais compatível com sintaxe. De fato, além de algumas das caixas de ferramentas caras do Matlab, o Octave deve executar 98% (um número que acabei de criar) do seu código. Uso o Matlab no trabalho e o Octave em casa.
O Octave não executará (nativamente) algumas das GUIs incorporadas, como inputdlg etc., se você instalar o Qtoctave (um IDE para Octave, sudo apt-get install qtoctave ), poderá usar xmlwidget e um wrapper para obter essa funcionalidade (eu posso você está interessado).
No que diz respeito ao desempenho, o Octave não é tão rápido (google para benchmarks). No entanto, você pode obter todas as versões modernas do Matlab em execução no Linux (se você tiver uma licença) e elas estão incluídas no disco de instalação por padrão agora, e o desempenho da versão Linux do Matlab é tão bom e geralmente melhor no Linux quando comparado ao Janelas.
Se você quer desempenho e não deseja usar o software livre da melhor maneira, você deve considerar o scipy. Mas a sintaxe é menos compatível. Você precisará reescrever seu código. O Spyder é um ide que usa python e scipy, o scilab é uma mistura de oitavas e máximas e algumas outras. Não tenho certeza sobre o desempenho do freemat, mas não acho que seja tão desenvolvido quanto o Octave.
Boa sorte.
Alguns benchmarks
Rapidez
http://www.osc.edu/research/cse/projects/octave_python.pdf
http://www.wseas.us/e-library/conferences/2010/Corfu/COMPUTERS/COMPUTERS2-56.pdf
Lembre-se de que os benchmarks são subjetivos. Existem muitas variáveis. A única maneira verdadeira de saber é testá-los todos em sua plataforma usando seu código de processamento.
fonte
Apenas para esclarecimento: Por que você quer uma alternativa para o Matlab? A resposta de prasadkumar013 sugere que você não pode usar o Matlab no Ubuntu, mas você pode (pelo menos estou executando no Ubuntu;)). Há uma documentação da comunidade na página https://help.ubuntu.com/community/MATLAB .
Caso você queira uma alternativa gratuita com oitava, a maior parte do código do matlab funcionará diretamente na oitava. Tente trabalhar no terminal, porém, a GUI do qtoctave não era tão amigável na minha opinião.
fonte
Mais parecido com MATLAB = Octave , (link para gui)
Uma incrível e avançada linguagem de computação de alto nível = julia
Mas meu favorito e IMHO são mais úteis em toda a linguagem, PYTHON (scipy, sage, cython ...)
fonte
http://pdl.perl.org/
A PDL ("Perl Data Language") fornece ao Perl padrão a capacidade de armazenar e manipular de maneira compacta as grandes matrizes de dados N-dimensionais, que são a base da computação científica.
fonte
Você já experimentou o Sage ( www.sagemath.org )? É um contêiner para diferentes softwares de matemática e pode fazer cálculos simbólicos e numéricos. Os últimos são feitos usando numpy e scipy. Tem uma comunidade muito ativa e é um projeto de código aberto escrito em python.
Como você está interessado em performances, aqui estão alguns benchmarks (no final da página, também comparações com o Matlab).
fonte
Este é um bom papel.
Tem uma breve explicação e vários testes realizados.
BTW eu não uso MATLAB ou algo assim.
fonte
Não fiz uma comparação real, mas, na minha experiência, puramente uma oitava de perspectiva de desempenho é melhor que o MATLAB.
Você deve observar que "tudo é relativo" caixas de ferramentas diferentes têm desempenhos diferentes.
Se você possui RAM limitada na sua máquina, eu diria que qualquer coisa funcionaria melhor que o MATLAB.
fonte
Minha faculdade usa o MATLAB em seus PCs com Windows. Mas, para usar o MATLAB no Ubuntu, eu tinha duas opções
Como a virtualização é muito pesada no meu laptop, procurei uma alternativa. Depois de muitos testes de software, finalmente decidi pelo OCTAVE. Ele pode executar a maioria dos códigos padrão do MATLAB. Em vez do GNU Octave, é melhor usar o qt Octave. Enquanto o primeiro é baseado em terminal, o posterior é baseado em GUI. Minha escolha é ir para qt Octave
sudo apt-get install qtoctave
fonte