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)