Prévia do material em texto
UNIVERSIDADE FEDERAL DE SANTA MARIA
Curso de Física
Oficina 1: Introdução ao uso do Octave1
1) Construindo gráficos a partir de dados
Muitas vezes precisamos fazer gráficos a partir de tabelas. Considere, por
exemplo, a tabela de dados abaixo:
x y
0 5
1 9
2 13
3 17
No Octave cada coluna de uma tabela se transforma em uma linha. Para
representarmos a tabela acima, fazemos:
x = [0 1 2 3]
y = [5 9 13 17]
Após inserir as variáveis no Octave, pressionando a tecla Enter, pode-se perceber
que os dados são repetidos logo na sequência. Considerando uma variável composta por
muitos dados, essa repetição pode ser desvantajosa. Assim, é possível inserir “ ; ” após
as variáveis, de modo que os dados não sejam repetidos. Veja o exemplo:
x = [0 1 2 3];
y = [5 9 13 17];
Note que:
● A coluna de dados vira uma linha;
● Os dados precisam estar entre colchetes. Isto é importante;
● Cada dado desta coluna, ao ser inserido no software, pode estar separado por
1 A instalação do Octave pode ser realizada da seguinte forma:
- Linux: a partir do terminal, executando o comando sudo apt-get install octave
- Windows: a partir do instalador, disponível em http://mxeoctave.osuv.de/octave-3.8.2-5-installer.exe
espaço ou vírgula. Desta forma, os dados inseridos anteriormente, também
poderiam estar descritos da seguinte maneira:
x = [0, 1, 2, 3]
y = [5, 9, 13, 17]
Para construirmos o gráfico de y(x), devemos introduzir o seguinte
comando:
scatter (x,y)
Este comando marcará os pontos associados ao gráfico e não ligará uma reta
(ou curva) que una esses pontos. Este comando é extremamente útil no caso
particular da Física.
Caso queira “unir os pontos do gráfico”, utilize o comando:
plot(x,y)
O resultado será:
Note que:
● O comando “plot” é responsável por criar a figura;
● Perceba que os argumentos que estão entre parênteses definem os eixos: o
primeiro deles, “x”, define os valores do eixo horizontal, enquanto que o segundo,
“y”, define os valores do eixo vertical;
● Ao mover o cursor do mouse pela tela, no canto inferior esquerdo da figura
apareceram os valores das coordenadas horizontal e vertical, respectivamente;
● Perceba que a variável “x” deve ter o mesmo número de elementos que a variável
“y”. Isto é importante.
Vamos a um exemplo. Considere os seguintes dados:
t = [0 1 2 3 4];
x = [0 1 4 9 16];
Construa o gráfico de x(t):
plot(t,x)
O resultado será:
Para tornar mais clara a interpretação e análise dos gráficos, são necessárias
algumas informações adicionais, tais como: título, linhas de referências e nomenclatura de
eixos.
1.1) Inserindo título
Para inserir um título ao gráfico, utilizamos o seguinte comando:
title("Grafico 1")
O resultado será:
Note que:
● Esse comando define um título que será posicionado no topo da figura;
● A palavra entre aspas será o título desta figura.
1.2) Inserindo linhas de referências
Para inserir linhas de referência ao gráfico, utilizamos o seguinte comando:
grid on
O resultado será:
1.3) Inserindo nomenclatura dos eixos
Para nomear o eixo horizontal, utilizamos o seguinte comando:
xlabel”titulo do eixo x”
Já para nomear o eixo vertical, utilizamos o seguinte comando:
ylabel”titulo do eixo y”
O resultado será:
Em resumo, as linhas de comando que originaram este gráfico foram:
t = [0 1 2 3 4];
x = [0 1 4 9 16];
plot(t,x)
title("Grafico 1")
grid on
xlabel”titulo do eixo x”
ylabel”titulo do eixo y”
1.4) Inserindo informações adicionais
Também é possível inserir outras informações ao gráfico. Um exemplo é a
mudança do tipo e cor de linha, além de uma legenda associada a cada curva do gráfico.
Para isso, é necessário que sejam inseridas informações adicionais ao comando plot.
Vejamos o exemplo:
plot(t,x,"-r;x(t);")
O resultado será:
Ao inserir este comando, definem-se três informações adicionais ao gráfico. As
mesmas estão localizadas após o par de variáveis (neste caso t,x).
Os símbolos que estão entre aspas significam:
Símbolo Significado
- linha cheia
r linha de cor vermelha
x(t) legenda que aparecerá no canto superior direito da figura
Importante: E obrigatório colocar em todas as informações do comando o código “ ; ”
indicados para que esse argumento funcione corretamente.
1.4.1) Cores das linhas
Com relação à cor da linha, o Octave aceita diferentes opções. Abaixo, mostra-se o
código correspondente a cada cor:
Cor
Símbolo
(letra)
Amarelo y
Azul b
Azul claro c
Branco w
Vermelho r
Preto k
Roxo m
Verde g
1.4.2) Marcadores
Além das cores, no Octave, é possível “marcar” os pontos em um gráfico com
diferentes marcadores. No quadro abaixo estão listados os principais marcadores:
Formato do marcador Símbolo
Ponto .
Quadrado S
Círculo o
Cruz +
Xis x
Asterisco *
Triângulo invertido v
Linha cheia -
2) Construindo gráficos de funções
Em algumas ocasiões, em vez de construirmos gráficos a partir de uma tabela de
dados, queremos construir gráficos de funções.
Para fazer isso, no Octave, é preciso inicialmente explicitar o domínio da função.
Uma das maneira de fazer isso é:
t = 0:0.1:6.3;
Note que:
● t é a variável independente;
● o intervalo definido é (0; 6,3);
● o número 0.1 é o passo, ou seja, o número que, ao ser adicionado ao ponto
anterior, resultará no valor de um novo ponto.
Definido o domínio da função, para construirmos o gráfico da função cosseno, por
exemplo, utilizamos:
plot(t,cos(t))
O resultado será:
Note que utilizamos o comando “plot” como anteriormente. Entretanto, o que há
entre parenteses mudou:
● O primeiro termo indica qual é a variável independente, no caso “t”. Como
anteriormente, os valores atribuídos a essa variável definem o eixo horizontal;
● O segundo termo indica qual é a função a ser representada pelo gráfico, no caso
“cosseno(t)”.
Por vezes, também é necessário construir o gráfico de duas ou mais funções em
uma mesma figura. Para fazer isso podemos proceder do seguinte modo:
plot(t,cos(t),t,sin(t))
O resultado será:
Assim como fizemos anteriormente, é possível inserirmos informações adicionais
ao gráfico.
Vejamos o exemplo:
plot(t,cos(t),"-b;cos(t);",t,sin(t),"*-r;sen(t);")
O resultado será:
Note que o terceiro termo (que está entre aspas) é composto por duas partes:
● a primeira delas indica o formato da linha (-, cheia) e a cor da linha (b, azul);
● já a segunda parte (após o “;”) consiste na legenda que será inserida no canto
superior direito da figura (cos(t)).
Note ainda que o sexto termo (que também está entre aspas) também é composto
por duas partes:
● a primeira delas indica o formato da linha (*-, cheia com asterisco) e a cor da linha
(r, vermelha);
● já a segunda parte (após o “;”) consiste na legenda que será inserida no canto
superior direito da figura (sen(t)).
Conforme fizemos anteriormente, podemos ainda inserir no gráfico título, linhas de
referências e nomenclatura de eixos.
Dessa forma, teremosao final as seguintes linhas de comando:
t = 0:0.1:6.3;
plot(t,cos(t),"-b;cos(t);",t,sin(t),"*-r;sen(t);")
title("Grafico de seno e cosseno")
xlabel"t"
ylabel"f(t)"
grid on
O resultado será:
3) Redefinindo escalas
Muitas vezes, para podermos analisar melhor um gráfico, é preciso redefinir a
escala dos eixos. Considere o exemplo abaixo:
t = [0 1 2 3 4];
x = [0 1 4 9 16];
plot(t,x)
A figura obtida é:
Para redefinir a escala dos eixos utilizamos o seguinte comando:
axis([vetor que define a nova escala])
Por exemplo:
axis([1 3 1 9])
Resulta em:
Note que:
● o primeiro termo entre colchetes define o valor mínimo do eixo horizontal;
● o segundo termo define o valor máximo do eixo horizontal;
● o terceiro termo define o valor mínimo do eixo vertical;
● o quarto termo define o valor máximo do eixo vertical.
4) Salvando figuras
Algumas vezes necessitamos salvar as figuras criadas. Uma maneira simples de
fazer isso consiste em utilizar o seguinte comando:
print("nome da figura.png")
Note que devemos especificar a extensão (formato) da figura a ser salva; no caso
acima, “.png”.
O Octave também salva figuras com outras extensões, como: jpeg, gif, svg e eps.
Observação importante: o Octave não reconhece caracteres especiais, tais como
acento e “ç”.
5) Calculadora básica
Com o Octave também é possível realizar cálculos. No quadro abaixo estão
listados os comandos básicos:
Função Símbolo
Soma +
Subtração -
Multiplicação .*
Divisão ./
Exponenciação .^
Raiz quadrada sqrt(x)