Comparação do Octave, Spyder, Freemat e Scilab como alternativas ao MATLAB

20

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.

    
por user33831 23.06.2015 / 09:25

9 respostas

10

Bem, você está em um tratamento que eu usei todas as linguagens de programação / software que você mencionou. FreeMat e Spyder Eu não tenho muita experiência com mas tenho alguns. Os outros que eu tenho experiência.

GNU Octave de longe beets a competição. Sua sintaxe tem uma compatibilidade extrema com o MATLAB . As únicas diferenças, estou ciente, pelo menos, além da estranha caixa de ferramentas, que você pode tentar para substituir pelos pacotes aqui é que o GNU Octave pode definir funções a partir da linha de comando.

Não sei se você conhece o QtOctave . QtOctave é um frontend (GUI) para a linguagem de programação GNU Octave. O QtOctave também vem com um editor.

Scilab é um substituto adequado para o MATLAB também. Ele tem algumas diferenças em termos de sintaxe, mas nada que você não consiga entender se pesquisar na documentação que o acompanha.

O

FreeMat é o pior, pelo menos na minha opinião, de software cuja sintaxe é strongmente baseada no MATLAB. Minha evidência para isso é em três partes: em primeiro lugar, no centro de software, ele recebe a classificação de estrelas mais baixa dos quatro softwares em questão. Em segundo lugar, ele não é atualizado com freqüência, a versão mais recente no centro de software foi atualizada pela última vez. 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 o MATLAB.

Eu usei o Spyder , mas estou apenas com medo. Parece de alta qualidade. O problema é que ele tem apenas compatibilidade limitada com o MATLAB, sintaxe. Isso requer que você aprenda um pouco da linguagem de programação Python, ou seja, se você planeja se sair bem.

Também recomendo 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 seja de outra forma especificado vem com Sage e, portanto, nenhuma instalação é necessária] Scipy, Matplotlib, maxima, fortran entre muitos outros. SageMath pode ser baixado, indo para o site link e selecionando um espelho adequado, com base em onde você está e, em seguida, instalando o arquivo .tar.lzma relevante. Depois disso copie e cole os seguintes comandos no terminal (ctrl + alt + T):

cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage

Onde 'x' se refere aos bits do seu sistema operacional; 'y' refere-se à versão do Ubuntu para a qual o sage foi projetado (por exemplo, 10.04_lts; 12.04_lts (os _lts são necessários em 'y'), etc.); 'z' refere-se à arquitetura do seu sistema operacional. (i386, amd64, etc.)

    
por Brenton Horne 19.10.2016 / 09:02
2

De todos os que você listou, o Octave é o mais compatível com a sintaxe. Na verdade, além de algumas das caras caixas de ferramentas do Matlab, o Octave deve rodar 98% (um número que acabei de inventar) do seu código. Eu uso o Matlab no trabalho e o Octave em casa.

O Octave não roda (nativamente) algumas das GUIs embutidas como inputdlg etc, se você instalar o Qtoctave (um IDE para Oitava, sudo apt-get install qtoctave ) você pode usar o xmlwidget e um wrapper para obter essa funcionalidade (eu posso postar código se você estiver 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 rodando no Linux (se você tiver uma licença) e elas estão incluídas no disco de instalação agora, e o desempenho da versão Linux do Matlab é tão bom e geralmente melhor no Linux quando comparado ao Windows.

Se você quer desempenho e não quer usar o software livre melhor para olhar para o scipy. Mas a sintaxe é menos compatível. Você precisará reescrever seu código. Spyder é um ide que usa python e scipy, scilab é um mash de oitava e maxima e alguns outros. 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

velocidade

link

link

Lembre-se que os benchmarks são subjetivos. Existem muitas variáveis. A única maneira verdadeira de saber é testá-los todos no seu equipamento usando seu código de processamento.

    
por Caustic 20.06.2012 / 07:49
1

Apenas para esclarecimentos: Por que você quer uma alternativa para o Matlab? A resposta do prasadkumar013 sugere que você não pode usar o Matlab no Ubuntu, mas você pode (pelo menos eu estou rodando no Ubuntu;)). Existe uma documentação da comunidade na página link .

Caso você queira uma alternativa livre, vá com octave, a maior parte do código matlab funcionará diretamente em oitava. Tente trabalhar no terminal, porém, a GUI do qtoctave não era tão amigável na minha opinião.

    
por Gerhard Burger 18.06.2012 / 10:14
1

Mais parecido com o MATLAB = Octave , (link para gui)
Uma impressionante linguagem de computação de alto nível = julia
Mas o meu favorito e IMHO mais útil em todo idioma, PYTHON (scipy, sage, cython ...)

    
por nagordon 16.09.2015 / 04:36
0

link

O PDL ("Perl Data Language") dá ao padrão Perl a capacidade de armazenar e manipular de maneira compacta as grandes matrizes de dados N-dimensionais, que são o pão com manteiga da computação científica.

    
por gianni 18.06.2012 / 15:37
0

Já experimentou o Sage ( www.sagemath.org )? É um recipiente para diferentes softwares matemáticos e pode fazer cálculos simbólicos e numéricos. Estes ú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 apresentações, aqui , há alguns pontos de referência (no final da página também comparações com o Matlab).

    
por Michele 18.08.2012 / 15:58
0

Este é legal.

Tem uma breve explicação e vários testes realizados.

BTW eu não uso o MATLAB ou qualquer coisa assim.

    
por virpara 01.12.2016 / 14:10
-1

Eu não fiz uma comparação real, mas na minha experiência puramente forma uma perspectiva de desempenho, a oitava é melhor que o MATLAB.

Você deve notar que "é tudo relativo" diferentes caixas de ferramentas têm desempenhos diferentes.

Se você tem RAM limitada em sua máquina, eu diria que qualquer coisa funcionaria melhor que o MATLAB.

    
por Ali 17.11.2011 / 14:14
-2

Minha faculdade usa o MATLAB em seus PCs com Windows. Mas, para usar o MATLAB no Ubuntu, fiquei com duas opções

  1. Instale o MATLAB sobre vinhos ou qualquer software de virtualização
  2. Encontre um Linux Equivalente

Como a virtualização é muito pesada no meu laptop, procurei uma alternativa. Depois de muitos testes de software, finalmente me decidi pelo OCTAVE. Pode executar a maioria dos códigos padrão do MATLAB. Em vez do GNU Octave, é melhor ir para o qt Octave. Enquanto o primeiro é baseado em terminal, o mais recente é baseado em GUI. Minha escolha é ir para qt Octave

sudo apt-get install qtoctave

    
por prasadkumar013 10.06.2012 / 15:12