Você está na página 1de 9

13/08/2021 Apostila – Octave, o básico

Esta é a versão em HTML do arquivo http://paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-


numerico/apostila-laboratorio/Capitulo-1.pdf/at_download/file. O Google gera automaticamente versões em HTML
de documentos à medida que rastreia a Web.
Dica: para localizar rapidamente o termo de pesquisa nesta página, pressione Ctrl+F ou ⌘-F (Mac) e use a barra
de localização.

Page 1

Apostila – Octave, o básico


CAPÍTULO 1 - INTRODUÇÃO
Sejam bem vindos à disciplina de Cálculo Numérico!!

Nessa primeira aula, veremos conceitos básicos para o entendimento do programa Octave.

Para começarmos, primeiro iniciaremos o Octave (a versão GUI que significa Graphical User
Interface). Uma janela como na figura 1 abrirá.

webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 1/9
13/08/2021 Apostila – Octave, o básico

Figura 1: Tela inicial do Octave

Como podemos ver, na janela de comandos, temos o símbolo >>, isso significa que o Octave
aguarda comandos, caso ele não esteja aparecendo, significa que há algum programa em
andamento.

Agora iremos nos familiarizar com o programa.

Na parte “Janela de comandos” o cursor aguarda os comandos, vamos começar com algo
simples, que tal uma expressão matemática?

Vamos tentar!

Digite na linha de comandos algumas expressões matemáticas, como por exemplo: 2+3 (e a
tecla <enter>) ou 4-1 ou 2*2.

Teremos resultados iguais aos apresentados abaixo (o que está em VERMELHO é a linha de
comando a ser digitada, e o AZUL é o resultado, as cores são ilustrativas).

Page 2

>> 2+3
ans = 5
>> 4-1
ans = 3
>> 2*2

ans = 4
Como podem ver, o Octave realiza essas operações sem problemas, e mostra a resposta na
variável ans (para aqueles que já fizeram computação ou tem alguma noção não tem problemas
para entender isso, mas não se preocupem, isso será abordado adiante).

Sabemos agora que, podemos usar o Octave como uma calculadora, mas que operações ele
faz? Veremos agora!

Operadores Aritméticos do Octave:

Operação Simbolo Exemplo Resultado

• Adição + 2+2 ans = 4


• Subtração - 2-2 ans = 0
• Multiplicação * 3*2 ans = 6

webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 2/9
13/08/2021 Apostila – Octave, o básico

• Divisão / 2/2 ans = 1


• Potenciação ^ 3^2 ans = 9

Vamos fazer agora a seguinte operação: 1/7.

Teremos a resposta: 0.14286 (IMPORTANTE, números que são representados com casas
decimais são representados com ponto no lugar de vírgula, por isso é 0.14286 e não 0,14286,
vírgulas são utilizadas para outros fins).

No Cálculo Numérico, vemos a importância que a precisão nas casas decimais tem no
cotidiano, e esse resultado que obtivemos é um número aproximado para representar a divisão 1/7;
uma representação que utiliza 5 algarismos significativos, essa representação é o format short,
que é a representação padrão do Octave.

Tente digitar format long na linha de comandos e <enter>, ok, temos nosso cursor >>
esperando um comando. Realize a operação 1/7 novamente.

>> format long


>> 1/7
ans = 1.42857142857143e-001

Observe que agora, o número foi representado com 16 algarismos significativos, que é o
número máximo de algarismos significativos que é possível representar no Octave.

Existem outras formas de se representar um número, como format short e; format


long e; format short g; format long g. Sinta-se a vontade para testar!

Para voltar ao padrão, simplesmente digite format short e <enter>.

Cálculo Numérico no Octave – versão em construção


Autores: Edson Luiz da Silva Junior e Yara de Souza Tadano

Page 3

Existe um limite de representação para o Octave, tanto um limite superior quanto inferior,
passando desses limites temos overflow ou underflow. O limite de representação do Octave
depende do sistema, então, rode os seguintes códigos:

>> realmax
>> realmin

Para expressões mais complexas, como 5+2/7^2, há uma ordem de precedência no que será
webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 3/9
13/08/2021 Apostila – Octave, o básico

feito primeiro. Então, LEMBRE-SE, a ordem que o Octave trabalha é a seguinte:

ORDEM OPERAÇÃO MATEMÁTICA


1º Parênteses. O que estiver entre parênteses será realizado primeiro, e para parênteses
múltiplos, o mais interno será realizado primeiro, ex: (2+(5*2)) =12
2º Exponenciação
3º Multiplicação/Divisão (ambas na mesma ordem)
4º Adição/Subtração

Sua “Janela de Comandos” está uma bagunça, cheia de comandos?? Um comando útil para
limpar a Janela de Comandos: pressione <ctrl+l> ou digite clc e <enter>. Não se preocupe, as
operações que você realizou não serão perdidas.

Para limpar a memória (ou seja, todas as operações realizadas), digite clear e <enter>.

ATRIBUIÇÕES
No Octave, podemos atribuir resultados para variáveis. Como pode ter notado até o
momento, as respostas das operações realizadas são mostradas no “ans”, isso significa que sua
resposta foi armazenada na variável “ans”. Realize uma operação qualquer, e depois que realizá-la,
escreva ans na tela e veja o que aparece.

Ele mostra o resultado da última operação realizada, pois ele foi armazenado em uma
variável, esta é a variável padrão “ans” de “answer”.

Podemos criar nossas próprias variáveis e armazenar valores nelas. Para declarar uma
variável, basta darmos um nome para ela e atribuir um valor, da seguinte forma:

>> a=2
a=2
>> b=3
b=3
>> c=a+b
c=5

No exemplo acima, temos 3 váriaveis (a, b e c). Agora cada uma dessas variáveis tem seu
valor armazenado (para aqueles que já programaram em C, não é necessário se preocupar com o

Cálculo Numérico no Octave – versão em construção


Autores: Edson Luiz da Silva Junior e Yara de Souza Tadano

Page 4

webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 4/9
13/08/2021 Apostila – Octave, o básico

TIPO da váriavel, como declarar um número INT ou FLOAT. O Octave trata isso de forma
automática). Para mostrar o conteúdo das variáveis é só digitar o nome delas na Janela de
Comandos e apertar <enter>.

Variáveis que começam em maiúsculo são diferentes das que começam com minúsculo.
Vamos pegar o exemplo anterior (a, b e c tem seus valores definidos), e vamos tentar mostrar a
variável A (não a ‘a’, mas a ‘A’, observe o que acontece):

>> a

a=2

>> b

b=3

>> c

c=5

>> A

error: ‘A’ undefined near line 1 column 1

Como podemos ver, se tentarmos mostrar o que contém na variável “A”, é apresentado um
erro, pois o Octave é “case-sensitive”, ou seja, ‘a’ e ‘A’ são diferentes devido ao fato de uma ser
maiúscula e outra não, então, faz diferença letras maiúsculas e minúsculas, não esqueça disso.

OBSERVAÇÕES: Uma variável NÃO pode começar com símbolos numéricos ou especiais (ex:
*,%,$, .). Deve sempre começar com letras (sejam elas maiúsculas ou minúsculas).

Podemos atribuir valores às váriaveis e não mostrar elas. Para isto, usa-se o símbolo “;”,
observando a figura 2, vemos que, quando atribuímos um valor a uma variável, logo abaixo essa
variável é apresentada, para isso não acontecer deve-se terminar a linha com “;”, como no exemplo
abaixo:

Figura 2: Exemplo de uso do símbolo “;”. Ele será importante quando formos programar nossos códigos

INTRODUÇÃO ÀS FUNÇÕES
Agora que sabemos o que são atribuições e sabemos que o Octave realiza operações
matemáticas, podemos entrar na parte de funções. O que seriam as funções?

Vamos supor que nós temos nossa variável a, que contém o número 2 (a = 2).

Poxa...eu gostaria de ver a raiz quadrada desse número, é possível? Sim, é possível, o Octave
tem suas funções padrão. A seguir temos algumas delas:

webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 5/9
13/08/2021 Apostila – Octave, o básico

Cálculo Numérico no Octave – versão em construção


Autores: Edson Luiz da Silva Junior e Yara de Souza Tadano

Page 5

FUNÇÃO OPERAÇÃO
exp(x) e
x

abs(x) Valor Absoluto (módulo)


log(x) Logaritmo natural (base e)
log10(x) Logaritmo na base 10
sqrt(x) Raiz quadrada
nthroot(x,n) N-ésima raiz real
factorial(x) Fatorial de x
sin(x) Seno de x
sind(x) Seno de x (em graus)
cos(x) Cosseno de x
cosd(x) Cosseno de x (em graus)
tan(x) Tangente de x
tand(x) Tangente de x (em graus)
cot(x) Cotangente de x
cotd(x) Cotangente de x (em graus)

Essas são algumas funções básicas do Octave. O que temos que entender daqui é que, cada
função tem seus PARÂMETROS DE ENTRADA, no caso desses exemplos a maioria é “x”, esse x é
uma variável qualquer, não precisa ser necessariamente uma variável com o nome x. Esse x significa
que a função tem como parâmetro de entrada uma variável. Notem na função nthroot, ela
possui dois parâmetros de entrada, “x” e “n”, n sendo a n-ésima raiz que você deseja encontrar do
número. Um exemplo pode ser visto na figura 3:

Figura 3: Exemplo de utilização da função nthroot. Como pode ser observado, foram atribuídos o valor 8 para a
variável x e 3 para a n, e em seguida foi chamada a função com x e n de entrada, o retorno foi 2, pois a raiz n-ésima (no
caso cúbica, pois n = 3) de 8 é 2. Como exemplo, foi demonstrado que a entrada não necessita ser exatamente uma
variável, pode ser até mesmo expressões matemáticas.

O propósito de uma função é receber uma ENTRADA e retornar uma SAÍDA, os resultados
Í
webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 6/9
13/08/2021 Apostila – Octave, o básico

que a função nos dá, é o que chamamos de SAÍDA. Uma função pode ter várias entradas, que são
separadas por vírgulas, e podemos ter também várias saídas.

Podemos pegar o resultado de uma função e atribuir a uma variável, da seguinte forma:

>> a=factorial(3)

a=6

O que está em VERMELHO é o parâmetro de entrada, e AZUL é a saída.

Cálculo Numérico no Octave – versão em construção


Autores: Edson Luiz da Silva Junior e Yara de Souza Tadano

Page 6

Vamos fazer uma pausa e entender como funciona o armazenamento de


números no computador?

O computador utiliza o sistema binário (base 2). Cada algarismo binário (um ou zero) é
chamado de bit (termo que vem de binary digit), com “1” se referindo à chave na posição “ligada”, e
o “0” se referindo à posição “desligada”.

Um vez que um número é colocado na representação binária em ponto flutuante, ele é


armazenado no computador, sendo que o expoente é armazenado separado da mantissa.

Lembra que falamos sobre precisão dupla na aula teórica?

Então, vamos entender melhor como isso funciona no computador?

A memória do computador é organizada em bytes. Cada byte corresponde à 8 bits. Na


precisão simples, os números são armazenados em uma cadeia de 32 bits (4 bytes). Já na precisão
dupla, em uma cadeia de 64 bits (8 bytes). O primeiro bit armazena o sinal do número (0
corresponde a + e 1 corresponde a -). Os próximos 8 bits (precisão simples) e 11 bits (precisão dupla)
armazenam o expoente. Os bits restantes (23 na precisão simples e 52 na precisão dupla)
armazenam a mantissa. Mais detalhes podem ser encontrados em REFERÊNCIA.

Vamos voltar para o Octave.

Como há um limite para a representação dos números em um computador, números reais que
têm uma mantissa mais longa do que o número de bits disponível precisam ser truncados ou
webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 7/9
13/08/2021 Apostila – Octave, o básico

arredondados, o que leva a erros nos cálculos numéricos, principalmente quando são realizadas
muitas operações.

Estes erros ocorrem, normalmente quando, os números envolvidos nos cálculos diferem
significativamente em magnitude e quando dois números que são quase idênticos, são subtraídos
um do outro.

Veja o exemplo a seguir:

2− 100,0001 + 0,01 = 0

Com soluções exatas dadas por: x1 = 100 e x2 = 0,0001.

Estas soluções podem ser calculadas utilizando a fórmula de Bhaskara:

4 4
= e 2 =
2a 2a

No Octave, teremos:

>> format long

>> a = 1; b = -100.0001; c=0.01;

>> raiz=sqrt(b^2-4*a*c);
Cálculo Numérico no Octave – versão em construção
Autores: Edson Luiz da Silva Junior e Yara de Souza Tadano

Page 7

raiz=99.9999000000000

>> x1 = (-b+raiz)/(2*a)

x1=100

>> x2=(-b-raiz)/(2*a)

x2 = -1.00000000003320e-004

O valor para x2 calculado no Octave não é exato devido a erros de arredondamento, pois o
numerador envolve a subtração de dois números quase iguais.

O que podemos fazer para melhorar este resultado?

Quando temos a subtração de duas grandezas quase iguais, podemos mudar a expressão
fazendo a seguinte multiplicação (pelo conjugado):

webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 8/9
13/08/2021 Apostila – Octave, o básico

−b + b2 − 4ac (−b + b2 − 4ac) 2c


2= =
2a (−b + b2 − 4ac) −b + b2 − 4ac

Calculando no Octave:

>> x2mod=(2*c)/(-b+raiz)

x2mod=1.000000000000000e-004

E assim, o valor de x2 não contém erros.

A partir de agora, iremos criar nossas próprias funções. Esse Capítulo foi uma introdução para
o básico do básico do Octave. Conforme vamos avançando, iremos aprimorar nossos
conhecimentos.

REFERÊNCIAS
https://octave.org/doc/v4.0.0/Mathematical-Constants.html

http://www.rodrigofernandez.com.br/ecomp/ref/octave-final.pdf

https://octave.org/doc/interpreter/

Gilat, Amos; Subramaniam, Vish. Métodos Numéricos para Engenheiros e Cientistas: Uma
introdução com aplicações usando o MATLAB. Tradução Alberto Resende de Conti. ISBN 978-85-
7780-297-5. Porto Alegre: Bookman, 2008.

Cálculo Numérico no Octave – versão em construção


Autores: Edson Luiz da Silva Junior e Yara de Souza Tadano

webcache.googleusercontent.com/search?q=cache:ICHyoN4kO7MJ:paginapessoal.utfpr.edu.br/yaratadano/2018-02-1/calculo-numerico/apostila-… 9/9

Você também pode gostar