GNU Octave/Básico

Origem: Wikilivros, livros abertos por um mundo aberto.

Octave pode ser usado tanto como uma linguagem de programação quanto como um interpretador de comandos. Ou seja, é possível usar o Octave apenas para fazer contas, mostrando o resultado.

Modo interativo[editar | editar código-fonte]

Entre no octave (entre em um terminal e digite octave):

octave

O interpretador está esperando alguma instrução. Digite:

octave> x = -3
octave> y = 1

e observe o resultado. Aparentemente, foram definidas duas variáveis, x e y, com valores numéricos -3 e 1, respectivamente.

Porém algo mais ocorreu. A linguagem octave é fortemente orientada a cálculos com matrizes, portanto x e y não são escalares, mas sim matrizes 1x1. Este detalhe é muito importante, pois uma fonte comum de erros é utilizar as variáveis do octave como se fossem escalares, e não como sendo matrizes.

As variáveis podem ser reutilizadas, pois, uma vez definidas, elas se tornam permanentes (podem, porém, ser alteradas). Por exemplo, após definir x e y como acima, pode-se fazer:

octave> a = x + y

Uma forma de definir um vetor é listando seus elementos, separados por espaços (ou por vírgulas), e fechando tudo com colchetes (o que vem após o % é um comentário, e será ignorado pelo interpretador; obviamente, não é preciso digitá-lo):

octave> z = [1 -1]  % z = [1, -1] tambem esta certo

Novamente, z não é um vetor - z é uma matriz 1x2. De novo, aqui deve-se tomar muito cuidado, pois em matemática costuma-se identificar vetores de n dimensões com matrizes n x 1; em octave, um vetor n x 1 deve ser declarado usando-se ; como separador:

octave> v = [1; 2; 3]

Uma matriz n x m é definida listando-se pelas linhas, e, em seguida, pelas colunas. Ou seja, uma instrução do tipo:

octave> A = [1, 1, 2; 3, 5, 8; 13, 21, 34] % lembrando que a vírgula é opcional

define a matriz 3 x 3:

 A =
 
    1   1   2
    3   5   8
   13  21  34

Para sair do modo iterativo, use quit:

octave> quit

Debug[editar | editar código-fonte]

Algumas instruções são úteis para debug:

  • whos -variables - lista informações sobre as variáveis
  • clear - apaga todas as variáveis
  • clear x - apaga apenas a variável x
  • history - consulta o histórico de comandos

Scripts[editar | editar código-fonte]

Obviamente, ninguém vai entrar iterativamente uma grande quantidade de linhas. Para isto, existem os scripts.

Um script no octave é um arquivo texto, de extensão .m. Por exemplo, crie o arquivo meuscript.m (no mesmo diretório que você usou para invocar o octave):

% arquivo meuscript.m
% isto é um comentário
x = 1
y = -2
z = x + y

Para usar este script no octave, basta escrever o seu nome:

meuscript

Note-se que, conforme as linhas são lidas e executadas, seu resultado vai sendo mostrado. É possível ler de um script e executá-lo sem que cada passo seja mostrado, para isto, basta terminar cada linha com um ponto-e-vírgula:

% arquivo meuscript.m
% isto é um comentário
x = 1;
y = -2;
z = x + y;

O resultado final é o mesmo (x, y e z são definidos, respectivamente, como 1, -2 e -1), mas nada é exibido no terminal.

Um cuidado que deve ser tomado é que, se o script tiver o mesmo nome de uma variável, ele não será invocado:

octave> meuscript = 10
octave> meuscript % mostra o 10 e não executa meuscript.m

O programa considera como path padrão o local onde ele foi invocado. Para trocar, usar cd:

octave> p = cd   % coloca em p o nome do ''path'' atual
octave> cd ..    % sobe um nivel de diretorio

Obtendo ajuda[editar | editar código-fonte]

O comando help é usado para obter ajuda. Para descobrir como usar help, digite:

octave> help help