MATLAB - Tutorial do GNU Octave
GNU Octave é uma linguagem de programação de alto nível como MATLAB e é principalmente compatível com MATLAB. Ele também é usado para cálculos numéricos.
Octave tem as seguintes características 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
GNU Octave também é um software livremente redistribuível. Você pode redistribuí-lo e / ou modificá-lo de acordo com os termos da GNU General Public License (GPL) conforme publicada pela Free Software Foundation.
MATLAB vs Octave
A maioria dos programas do MATLAB roda no Octave, mas alguns dos programas do Octave podem não rodar no MATLAB porque o Octave permite alguma sintaxe que o MATLAB não permite.
Por exemplo, MATLAB suporta apenas aspas simples, mas Octave suporta aspas simples e duplas para definir strings. Se você estiver procurando por um tutorial sobre o Octave, por favor, siga este tutorial desde o início, que cobre tanto o MATLAB quanto o Octave.
Exemplos Compatíveis
Quase todos os exemplos cobertos neste tutorial são compatíveis com MATLAB e também com Octave. Vamos tentar o seguinte exemplo em MATLAB e Octave que produz o mesmo resultado sem quaisquer alterações 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 todas as funcionalidades principais do MATLAB estejam disponíveis no Octave, existem algumas funcionalidades, por exemplo, Cálculo diferencial e de integração, que não correspondem exatamente nos dois idiomas. Este tutorial tentou fornecer os dois tipos de exemplos em que eles diferiam em sua sintaxe.
Considere o seguinte exemplo em que MATLAB e Octave usam funções diferentes 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 no Octave, você terá que fazer uso de symbolic 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));