MATLAB - Tutorial GNU Octave
GNU Octave é uma linguagem de programação de alto nível como o MATLAB e é principalmente compatível com o MATLAB. Também é usado para cálculos numéricos.
Octave tem os seguintes recursos comuns com o MATLAB -
- matrizes são tipos de dados fundamentais
- tem suporte integrado para números complexos
- tem funções matemáticas e bibliotecas integradas
- suporta funções definidas pelo usuário
O GNU Octave também é um software livremente redistribuível. Você pode redistribuí-lo e/ou modificá-lo sob os termos da GNU General Public License (GPL) conforme publicada pela Free Software Foundation.
MATLAB vs Oitava
A maioria dos programas MATLAB são executados no Octave, mas alguns dos programas Octave podem não ser executados no MATLAB porque o Octave permite alguma sintaxe que o MATLAB não permite.
Por exemplo, o MATLAB suporta apenas aspas simples, mas o Octave suporta aspas simples e duplas para definir strings. Se você está procurando um tutorial sobre o Octave, por favor, leia este tutorial desde o início, que abrange tanto o MATLAB quanto o Octave.
Exemplos compatíveis
Quase todos os exemplos abordados neste tutorial são compatíveis com o MATLAB e também com o Octave. Vamos tentar seguir o exemplo em MATLAB e Octave que produz o mesmo resultado sem nenhuma alteração de sintaxe -
Este exemplo cria um mapa de superfície 3D para a função g =xe -(x 2 + y 2 ) . Crie um arquivo de script e digite o seguinte código -
[x,y] = meshgrid(-2:.2:2); g = x .* exp(-x.^2 - y.^2); surf(x, y, g) print -deps graph.eps
Quando você executa o arquivo, o MATLAB exibe o seguinte mapa 3-D -
Exemplos não compatíveis
Embora toda a funcionalidade principal do MATLAB esteja disponível no Octave, existem algumas funcionalidades, por exemplo, cálculo diferencial e de integração, que não correspondem exatamente em ambas as linguagens. Este tutorial tentou dar os dois tipos de exemplos onde eles diferem em sua sintaxe.
Considere o seguinte exemplo em que MATLAB e Octave fazem uso de diferentes funções para obter a área de uma curva:f(x) =x 2 cos(x) para −4 ≤ x ≤ 9. A seguir está a versão MATLAB do código −
f = x^2*cos(x); ezplot(f, [-4,9]) a = int(f, -4, 9) disp('Area: '), disp(double(a));
Quando você executa o arquivo, o MATLAB traça o gráfico -
O seguinte resultado é exibido
a = 8*cos(4) + 18*cos(9) + 14*sin(4) + 79*sin(9) Area: 0.3326
Mas para dar área da mesma curva em Oitava, você terá que fazer uso de simbólico pacote da seguinte forma -
pkg load symbolic symbols x = sym("x"); f = inline("x^2*cos(x)"); ezplot(f, [-4,9]) print -deps graph.eps [a, ierror, nfneval] = quad(f, -4, 9); display('Area: '), disp(double(a));
MATLAB