Scilab, Maxima e GNU Octave – Alternativas gratuitas ao MatLab / Mathematica

Existem softwares, chamados de CAS (Computer Algebra System), similares ao CAS presentes nas ROMS das calculadoras gráficas. Estes softs fazem todo o trabalho pesado matemático, incluindo integrais, derivadas, raízes de funções, plotagem de gráficos, análises, possuem plugins que conectam com outros programas para expandir a funcionalidade.

Estes softs são de grande valia no estudo de cálculo e engenharia, inclusive, sendo obrigatório o uso nas high schools americanas. Os dois programas mais conhecidos deste nicho são o MatLab e o Mathematica. O preço deles é um pouco alto, embora os mesmos tenham versões para estudantes, infelizmente com algumas funcionalidades ausentes (como menor número de linhas de programação, limite de plotagem de gráficos, entre outras). No Brasil, predomina o uso do MatLab; porém, vários doutores são adeptos da utilização do Mathematica.

Entretanto, existem ótimas alternativas gratuitas a estes programas.

O GNU Octave usa a mesma sintaxe que o MatLab. Portanto, uma pessoa que utiliza o MatLab pode utilizar este software sem problemas. Inclusive, muitos scripts são completamente utilizáveis nos dois programas sem a necessidade de alteração. O GNU Octave é modular: ele não contém algumas das toolboxes do Matlab, porém pode ser expandido através de pacotes disponíveis aqui.

O Scilab é a alternativa gratuita de maior desenvolvimento. Atualmente em sua versão 5.0.1, é utilizado em muitas universidades européias, principalmente franco-suíças, e seu desenvolvimento é o mais ativo das alternativas, principalmente agora em que a versão 5 foi liberada na licença GPL. Também contém uma toolbox chamada Scicos, que permite modelamento. Possui plugins que interagem com uma vasta gama de softwares, desde o Excel até o LabVIEW.

Por fim, o Maxima é o mais antigo de todos, pois seu código fonte é baseado no programa Macsyma, escrito em linguagem LISP.

A vantagem de todos estes programas ? Vou citar algumas:

  • Gratuitos;
  • Possuem uma extensa documentação espalhada pela internet;
  • estão em contínuo desenvolvimento.

A recomendação é a mesma dada ao OpenOffice: esteja em mente que, ao utilizar um destes programas, é necessária a aprendizagem de uma nova linguagem. Por mais que são baseadas nos “kings”, não são iguais: a linguagem do Octave é idêntica ao do MatLab, mas a plotagem de gráficos, não! Isto porque este programa utiliza uma engine gratuita para a plotagem (gnuplot), enquanto o MatLab têm a sua engine embutida.

Um exemplo: um diagrama de Bode plotado pelo MatLab (Cortesia do blog da Camila Soares) e o mesmo plotado pelo Scilab:

O mesmo gráfico, pelo Scilab:

Anúncios

7 comentários sobre “Scilab, Maxima e GNU Octave – Alternativas gratuitas ao MatLab / Mathematica

  1. Obrigado Filipe!
    Estou sem nenhum PC com uma distro Linux instalado, mas assim que sobrar um tempo, instalarei Debian em um deles para experimentar mais estas alternativas. Muito obrigado pela ajuda!

  2. Prezados amigos

    Já existe um livro sobre SciLab, totalmente em Português, bem didático e prático com 600 páginas. Entre em contato com a Editora Ciência Moderna (www.lcm.com.br).

    Mário

  3. Pessoal

    Já existe um livro sobre SciLab para ambiente de computação numérica, totalmente em Português, bem didático e prático com 600 páginas. Entre em contato com a Editora Ciência Moderna (www.lcm.com.br). Vale a pena conferir…

    Atenciosamente

    Prof. Mário

  4. Como faço pra rodar lógica fuzzy no scilab ou no octave? No scilab qdo tento instalar os dois módulos que fiquei sabendo aparece erro, já no octave não consegui nada. Podem me ajudar? Se puderem responda, se possível, em lacastelos@hotmail.com.

    Agradeço,
    Luiz Castelo

  5. tentei usar no Octave, no Ubuntu

    sys=tf([1, 1], [10, 7, 1]);
    sysout(sys)
    bode(sys)
    nyquist(sys)

    mas, ao mandar para o terminal aparece isso:

    >>> cd ‘/home/serrao/Documentos/Octave’
    controle2
    >>>error: `tf’ undefined near line 1 column 4
    >>>error: called from:
    error: /home/serrao/Documentos/Octave/controle2.m at line 1, column 3
    >>> sys=tf([1, 1], [10, 7, 1]);
    sysout(sys)
    bode(sys)
    nyquist(sys)

    error: `tf’ undefined near line 406 column 5
    >>>error: `sys’ undefined near line 406 column 8
    error: evaluating argument list element number 1
    error: evaluating argument list element number 1
    >>>error: `sys’ undefined near line 406 column 6
    error: evaluating argument list element number 1
    error: evaluating argument list element number 1
    >>>error: `sys’ undefined near line 406 column 9
    error: evaluating argument list element number 1
    error: evaluating argument list element number 1

    alguém poderia me ajudar! ficaria agradecido.

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s