Diferenças entre edições de "Breve Introdução ao Octave"

De GNU Octave
Ir para: navegação, pesquisa
(O Octave como uma calculadora)
(Obter ajuda)
(Há 15 edições intermédias do mesmo utilizador que não estão a ser apresentadas)
Linha 1: Linha 1:
====== Breve Introdução ao Octave ======
 
 
 
O GNU Octave é um software de cálculo numérico, adequado a resolver problemas das áreas das ciências e das engenharias.
 
O GNU Octave é um software de cálculo numérico, adequado a resolver problemas das áreas das ciências e das engenharias.
 
=== Instalação ===
 
 
Para instalar no Ubuntu, faça:
 
 
<code>apt-get install qtoctave octave3.2-doc octave3.2-info</code>
 
 
Para instalar em Windows, faça:
 
* Navegue até: [http://sourceforge.net/projects/octave/files/Octave%20Windows%20binaries/Octave%203.6.2%20for%20Windows%20Microsoft%20Visual%20Studio/ Octave para Windows]
 
* Descarregue: <code>octave-3.6.2-vs2010-setup.exe''</code>
 
* Execute o programa que descarregou.
 
 
==== Lançar o octave ====
 
 
No Ubuntu, na linha de comandos, faça:
 
 
<code>octave</code>
 
 
No Windows, no menu Iniciar, navegue até GNU Octave (3.6.2), e depois escolha ''Octave 3.6.2''
 
 
Aparece-lhe uma janela como a que se apresenta na figura seguinte.
 
 
[[Ficheiro:Octave-windows.png]]
 
  
 
=== O Octave como uma calculadora ===
 
=== O Octave como uma calculadora ===
Linha 30: Linha 5:
 
Para o primeiro contacto com o Octave, vamos ver que o mesmo pode ser utilizado como uma calculadora científica.
 
Para o primeiro contacto com o Octave, vamos ver que o mesmo pode ser utilizado como uma calculadora científica.
  
Cálculos simples
+
=====Cálculos simples=====
  
 
Comece por fazer os seguintes cálculos:
 
Comece por fazer os seguintes cálculos:
  
* 2^8-1
+
* <math>2^8-1</math>
* 1/3
+
* <math>\frac{1}{3}</math>
* 7*52-5*52
+
* <math>7 \times 52-5\times 52</math>
* Calcule a temperatura actual da sala (cerca de 21º Celcius) em Fahrenheit. Veja a fórmula de conversão
+
* Calcule a temperatura actual da sala (cerca de 21º Celcius) em Fahrenheit. Veja a [http://pt.wikipedia.org/wiki/Grau_Fahrenheit fórmula de conversão]
* ''21 * 1.8 + 32''
+
** <math>21 \times 1.8 + 32</math>
  
Algumas funções
+
=====Algumas funções=====
  
Calcule o perímetro da área central de um campo de futebol, sabendo que o raio da mesma é de 9,15 metros. Veja a [[http://pt.wikipedia.org/wiki/Circunferência|definição de perímetro]].
+
Calcule o perímetro da área central de um campo de futebol, sabendo que o raio da mesma é de 9,15 metros. Veja a [[http://pt.wikipedia.org/wiki/Circunferência definição de perímetro]].
''2*pi * 9.15''
+
* <math>2 \pi \times 9.15</math>
  
 
Calcule a hipotenusa máxima e mímina de um campo de futebol, sabendo que as medidas deste são: largura entre 45 e 90 m; comprimento entre 90 e 120 m.
 
Calcule a hipotenusa máxima e mímina de um campo de futebol, sabendo que as medidas deste são: largura entre 45 e 90 m; comprimento entre 90 e 120 m.
  
hipo minima = raiz ( 45^2 + 90 ^2)
+
* hipotenusa mínima
hipo máxima = raiz ( 90^2 + 120 ^2)
+
** <math>\sqrt{45^2 + 90^2}</math>
 
+
* hipotenusa máxima  
Resto da divisão inteira
+
** <math>\sqrt{90^2 + 120^2}</math>
  
 
=== Formatação dos números ===
 
=== Formatação dos números ===
  
Os resultados têm sido apresentados com 4 casas decimais. Para alterar o formato de apres1.57079632679490entação, use a instrução ''format''.
+
Os resultados têm sido apresentados com 4 casas decimais. Para alterar o formato de apresentação, use a instrução ''format''.
  
 
Experimente os comandos:
 
Experimente os comandos:
'''
+
<syntaxhighlight>
 
format long
 
format long
format bank
 
 
format short
 
format short
'''
+
format bank
 +
</syntaxhighlight>
  
 
Diga quantas casas decimais aparecem associadas a cada um dos formatos.
 
Diga quantas casas decimais aparecem associadas a cada um dos formatos.
  
Para apresentar os números na forma pré-definida (format short), basta escrever apenas: ''format''
+
Para apresentar os números na forma pré-definida (<code>format short</code>), basta escrever apenas: ''format''
  
Embora a formatação possa apresentar apenas uma parte das casas decimais, internamente o número é sempre guardado com toda a precisão possível.
+
Embora a formatação possa apresentar apenas uma parte das casas decimais, internamente o número é tratado com toda a precisão possível.
  
 
=== Obter ajuda ===
 
=== Obter ajuda ===
  
Ajuda
+
No Octave, pode obter ajuda sobre uma função, usando a instrução ''help'' fazendo, por exemplo:
 +
<syntaxhighlight>
 +
>> help pi
 +
</syntaxhighlight>
  
No Google, encontra ajuda sobre o Octave. Como o MATLAB é muito popular, a ajuda que encontrar para o MATLAB também serve para o Octave.
+
Se não souber exatamente qual a função que está à procura, use o comando ''lookfor'':
  
No Octave, pode obter ajuda sobre uma função, usando a instrução ''help.''
+
<syntaxhighlight>
Pode também navegar na documentação usando a instrução ''doc''.
+
>> lookfor upper
 +
</syntaxhighlight>
  
Usando o help, diga qual a diferença entre as seguintes funções relativamente parecidas:
+
Esta função procura por 'upper' na descrição sumária de todas as funções.
help fix
+
 
help floor
+
==== Obter ajuda online ====
 +
 
 +
A [http://www.gnu.org/software/octave/doc/interpreter/ documentação do Octave] é um bom ponto de partida para tirar dúvidas sobre o Octave.
 +
 
 +
Na seção [[Bibliografia sobre o GNU Octave]] tem alguns recursos já selecionados, que pode usar para estudar.
 +
 
 +
No Google, também encontra facilmente ajuda sobre o Octave. Como o MATLAB é muito popular, a ajuda que encontrar para o MATLAB também serve para o Octave. Por isso, pode escrever termos de pesquisa no Google como:
 +
<syntaxhighlight>
 +
octave rounding numbers
 +
</syntaxhighlight>
 +
ou
 +
<syntaxhighlight>
 +
matlab rounding numbers
 +
</syntaxhighlight>
 +
 
 +
==== Explorar a ajuda no próprio interpretador====
 +
 
 +
Usando o ''help'', diga qual a diferença entre as seguintes funções relativamente parecidas <code>fix</code> e <code>floor</code>.
  
 
Indique um valor para o qual o resultado das duas funções é diferente.
 
Indique um valor para o qual o resultado das duas funções é diferente.
'''
+
<syntaxhighlight>
 
octave:27> fix(-2.9)
 
octave:27> fix(-2.9)
 
ans = -2
 
ans = -2
 
octave:28> floor(-2.9)
 
octave:28> floor(-2.9)
 
ans = -3
 
ans = -3
'''
+
</syntaxhighlight>
 
+
  
 
=== Variáveis ===
 
=== Variáveis ===
  
 
No Octave, pode definir variáveis para guardar valores. Por exemplo, sempre que realiza um cálculo, o resultado é atribuído à variável ''ans''.
 
No Octave, pode definir variáveis para guardar valores. Por exemplo, sempre que realiza um cálculo, o resultado é atribuído à variável ''ans''.
Por isso, pode usar a variável ans no cálculo seguinte, em vez do resultado.
+
Por isso, pode usar a variável <code>ans</code> no cálculo seguinte.
 
Por exemplo:
 
Por exemplo:
'''
+
<syntaxhighlight>
pi/2
+
>> 2*pi
ans*4
+
ans =  6.2832
'''
+
>> ans * 9.15
 +
ans =  57.491
 +
</syntaxhighlight>
  
 
Atribuir um valor a uma variável
 
Atribuir um valor a uma variável
'''
+
<syntaxhighlight>
r=3
+
>> r=3
resultado = 2*pi*r
+
r =  3
'''
+
>> resultado = 2*pi*r
 +
resultado =  18.850
 +
</syntaxhighlight>
  
 
Listar as variáveis em utilização
 
Listar as variáveis em utilização
'''
+
<syntaxhighlight>
who
+
>> who
whos
+
Variables in the current scope:
'''
+
 
 +
ans        r          resultado
 +
 
 +
>> whos
 +
Variables in the current scope:
 +
 
 +
  Attr Name          Size                    Bytes  Class
 +
  ==== ====          ====                    =====  =====
 +
        ans            1x1                          8  double
 +
        r              1x1                          8  double
 +
        resultado      1x1                          8  double
 +
 
 +
Total is 3 elements using 24 bytes
 +
</syntaxhighlight>
 +
 
 +
No Octave (GUI) estas mesmas variáveis, à medida que se definem, aparecem na área designada '''Ambiente de Trabalho''', como ilustrado na figura seguinte.
 +
 
 +
[[Ficheiro:Captura de ecrã de 2015-10-06 10-12-14.png]]
  
 
Limpar uma variável
 
Limpar uma variável
''clear resultado''
+
<syntaxhighlight>
 +
clear resultado
 +
</syntaxhighlight>
  
 
Limpar todas as variáveis
 
Limpar todas as variáveis
''clear''
+
<syntaxhighlight>
 +
clear
 +
</syntaxhighlight>
 +
 
 +
==== Gravar variáveis ====
 +
 
 +
Não sendo obrigatório, geralmente os documentos do Octave usam a extensão .m. Use esta prática para se lembrar que são documentos do Octave.
 +
 
 +
Pode-se gravar todas as variáveis ou pode-se especificar aquelas que se querem gravar.
 +
 
 +
Para guardar todas as variáveis num documento <code>primeira.m</code>:
 +
<syntaxhighlight>
 +
save primeira.m
 +
</syntaxhighlight>
 +
 
 +
O documento <code>primeira.m</code> é criado na pasta atual. Para saber a pasta atual, pode usar a função:
 +
 
 +
<syntaxhighlight>
 +
>> pwd
 +
ans = /home/jgr/Transferências
 +
</syntaxhighlight>
 +
 
 +
Para guardar uma ou mais variáveis, indicam-se as mesmas depois do nome do documento onde irão ser guardadas.
 +
<syntaxhighlight>
 +
save primeira.m r resultado
 +
</syntaxhighlight>
 +
 
 +
==== Recuperar ====
 +
 
 +
Podem-se recuperar todas as variáveis de um documento, ou apenas algumas delas.
 +
 
 +
<syntaxhighlight>
 +
load primeira.m
 +
</syntaxhighlight>
 +
 
 +
Se se pretender apenas algumas das variáveis, indicam-se as mesmas depois do nome do documento.
 +
 
 +
==== Gravar e ler posteriormente o ambiente de trabalho ====
 +
 
 +
No Octave (GUI) pode usar as opções '''Guardar Ambiente de Trabalho como...''' e '''Carregar Ambiente de Trabalho''' no menu '''Ficheiros''' para guardar todas as variáveis definidas e recuperá-las posteriormente. Tem ainda a opção '''Limpar Ambiente de Trabalho''' para limpar (remover) todas as variáveis definidas, no menu '''Editar'''.
 +
 
 +
=== Sessão ===
 +
 
 +
No Octave, é possível guardar toda a sucessão de comandos. Comece por usar o comando:
 +
 
 +
<syntaxhighlight>
 +
diary ficha1.txt
 +
</syntaxhighlight>
 +
 
 +
para indicar que quer que o registo de comandos seja guardado no documento <code>ficha1.txt</code>.
 +
 
 +
Depois ative o registo de comandos:
 +
 
 +
<syntaxhighlight>
 +
diary on
 +
</syntaxhighlight>
 +
 
 +
A partir desta instrução, todos os comandos passam a ficar guardadas num documento chamado <code>ficha1.txt</code>. Se anteriormente não indicou o nome do documento, os comandos passam a ficar guardadas num documento chamado <code>diary</code>.
 +
 
 +
Para terminar o registo dos comandos, use:
  
 +
<syntaxhighlight>
 +
diary off
 +
</syntaxhighlight>
  
=== Gravar variáveis ===
+
=== Limpar linha de comandos ===
''save primeira''
+
  
 +
A qualquer altura, pode-se limpar a linha de comando de posicionar o cursor no canto superior esquerdo. Para tal usa-se a função <code>home</code> ou <code>clc</code>, que fazem a mesma coisa.
  
=== Recuperar ===
+
<syntaxhighlight>
''load primeira''
+
home
 +
</syntaxhighlight>

Revisão das 00h20min de 17 de dezembro de 2015

O GNU Octave é um software de cálculo numérico, adequado a resolver problemas das áreas das ciências e das engenharias.

O Octave como uma calculadora

Para o primeiro contacto com o Octave, vamos ver que o mesmo pode ser utilizado como uma calculadora científica.

Cálculos simples

Comece por fazer os seguintes cálculos:

Algumas funções

Calcule o perímetro da área central de um campo de futebol, sabendo que o raio da mesma é de 9,15 metros. Veja a [definição de perímetro].

  • 2 \pi \times 9.15

Calcule a hipotenusa máxima e mímina de um campo de futebol, sabendo que as medidas deste são: largura entre 45 e 90 m; comprimento entre 90 e 120 m.

  • hipotenusa mínima
    • \sqrt{45^2 + 90^2}
  • hipotenusa máxima
    • \sqrt{90^2 + 120^2}

Formatação dos números

Os resultados têm sido apresentados com 4 casas decimais. Para alterar o formato de apresentação, use a instrução format.

Experimente os comandos:

format long
format short
format bank

Diga quantas casas decimais aparecem associadas a cada um dos formatos.

Para apresentar os números na forma pré-definida (format short), basta escrever apenas: format

Embora a formatação possa apresentar apenas uma parte das casas decimais, internamente o número é tratado com toda a precisão possível.

Obter ajuda

No Octave, pode obter ajuda sobre uma função, usando a instrução help fazendo, por exemplo:

>> help pi

Se não souber exatamente qual a função que está à procura, use o comando lookfor:

>> lookfor upper

Esta função procura por 'upper' na descrição sumária de todas as funções.

Obter ajuda online

A documentação do Octave é um bom ponto de partida para tirar dúvidas sobre o Octave.

Na seção Bibliografia sobre o GNU Octave tem alguns recursos já selecionados, que pode usar para estudar.

No Google, também encontra facilmente ajuda sobre o Octave. Como o MATLAB é muito popular, a ajuda que encontrar para o MATLAB também serve para o Octave. Por isso, pode escrever termos de pesquisa no Google como:

octave rounding numbers

ou

matlab rounding numbers

Explorar a ajuda no próprio interpretador

Usando o help, diga qual a diferença entre as seguintes funções relativamente parecidas fix e floor.

Indique um valor para o qual o resultado das duas funções é diferente.

octave:27> fix(-2.9)
ans = -2
octave:28> floor(-2.9)
ans = -3

Variáveis

No Octave, pode definir variáveis para guardar valores. Por exemplo, sempre que realiza um cálculo, o resultado é atribuído à variável ans. Por isso, pode usar a variável ans no cálculo seguinte. Por exemplo:

>> 2*pi
ans =  6.2832
>> ans * 9.15
ans =  57.491

Atribuir um valor a uma variável

>> r=3
r =  3
>> resultado = 2*pi*r
resultado =  18.850

Listar as variáveis em utilização

>> who
Variables in the current scope:
 
ans        r          resultado
 
>> whos
Variables in the current scope:
 
   Attr Name           Size                     Bytes  Class
   ==== ====           ====                     =====  =====
        ans            1x1                          8  double
        r              1x1                          8  double
        resultado      1x1                          8  double
 
Total is 3 elements using 24 bytes

No Octave (GUI) estas mesmas variáveis, à medida que se definem, aparecem na área designada Ambiente de Trabalho, como ilustrado na figura seguinte.

Captura de ecrã de 2015-10-06 10-12-14.png

Limpar uma variável

clear resultado

Limpar todas as variáveis

clear

Gravar variáveis

Não sendo obrigatório, geralmente os documentos do Octave usam a extensão .m. Use esta prática para se lembrar que são documentos do Octave.

Pode-se gravar todas as variáveis ou pode-se especificar aquelas que se querem gravar.

Para guardar todas as variáveis num documento primeira.m:

save primeira.m

O documento primeira.m é criado na pasta atual. Para saber a pasta atual, pode usar a função:

>> pwd
ans = /home/jgr/Transferências

Para guardar uma ou mais variáveis, indicam-se as mesmas depois do nome do documento onde irão ser guardadas.

save primeira.m r resultado

Recuperar

Podem-se recuperar todas as variáveis de um documento, ou apenas algumas delas.

load primeira.m

Se se pretender apenas algumas das variáveis, indicam-se as mesmas depois do nome do documento.

Gravar e ler posteriormente o ambiente de trabalho

No Octave (GUI) pode usar as opções Guardar Ambiente de Trabalho como... e Carregar Ambiente de Trabalho no menu Ficheiros para guardar todas as variáveis definidas e recuperá-las posteriormente. Tem ainda a opção Limpar Ambiente de Trabalho para limpar (remover) todas as variáveis definidas, no menu Editar.

Sessão

No Octave, é possível guardar toda a sucessão de comandos. Comece por usar o comando:

diary ficha1.txt

para indicar que quer que o registo de comandos seja guardado no documento ficha1.txt.

Depois ative o registo de comandos:

diary on

A partir desta instrução, todos os comandos passam a ficar guardadas num documento chamado ficha1.txt. Se anteriormente não indicou o nome do documento, os comandos passam a ficar guardadas num documento chamado diary.

Para terminar o registo dos comandos, use:

diary off

Limpar linha de comandos

A qualquer altura, pode-se limpar a linha de comando de posicionar o cursor no canto superior esquerdo. Para tal usa-se a função home ou clc, que fazem a mesma coisa.

home