Raffael Russo
Jonas Rocha Lima Amaro
Sumrio
1.
2.
3.
4.
Introduo
Caractersticas
Concluso
Referncias
Introduo
Histria e motivao
Interoperabilidade e Performance
Octave uma linguagem simples. Foi desenvolvida para que os alunos dispendessem mais
tempo resolvendo o problema do que aprendendo a linguagem.
uma linguagem interpretada bastante compatvel com MatLab, possuindo muitas funes
semelhantes;
Aceita facilmente expanso e adaptao atravs do carregamento mdulos, dinamicamente,
escritos em C, C++ e Fortran.
Interoperabilidade e Performance
Eliminao Gaussiana
Interoperabilidade e Performance
Usurios de Octave
Exemplo de cdigo
function ord_vetor = bubble_sort(vetor)
n = length(vetor);
for i = (n+1):-1:3
for j = 1:(i-2)
if vetor(j)>vetor(j+1)
aux = vetor(j);
vetor(j) = vetor(j+1);
vetor(j+1) = aux;
end
endfor
endfor
ord_vetor = vetor;
endfunction
Caractersticas
Conceitos e Paradigma
Tipos nativos
A linguagem possui os chamados Built-in Data Types que incluem escalares reais e complexos,
ranges, matrizes, strings de caractres e vetores que contm todos os tipos de dados. Tambm
possvel definir novos tipos de dados escrevendo cdigo em C++.
Nmeros Reais:
Notao simples: x = 1.981
Nmeros Complexos:
Notao: a + bi
Matrizes:
Notao: A=[linha_1; linha_2; linha_n]
Strings:
txt='Meu texto.' ou txt=Meu texto.
Variveis
Variveis permitem dar nomes a valores e se referir a eles mais tarde.
Variveis que foram declaradas como global podem ser acessadas do corpo de uma funo
sem terem sido passadas como parmetro formal. (Ex: global c = 2)
Variveis que foram declaradas como persistent no escopo de uma funo iro reter o seu
contedo em memria entre chamadas subsequentes damesma funo.
A diferena entre persistent variables e global variables que a primeira local no escopo de uma
funo e nao visveis em outro lugar.
Constantes
Constantes matemticas tais
como: , e, i, Inf so constantes pr
definidas da linguagem
Porm o nome delas no
reservado, possvel criar uma
varivel chamada pi com valor 1000
Passagem de parmetros
Em Octave a passagem de argumentos de funo feita por valor, o que significa que cada argumento,
numa chamada de funo, avaliado e atribuido a uma localizao temporria de memria antes de
ser passado funo.
Funes
Para definir uma funo de forma externa preciso criar um ficheiro .m com o nome da funo, tal
como se faz para criar um programa. Ou seja, para criar a funo quadrado,deve-se criar um novo
documento quadrado.m, onde ser definida a funo.
No entanto pode-se definir uma funo diretamente na linha de comando em sesses interativas de
Octave.
A estrutura genrica utiliza para definir uma funo a seguinte:
function [resultados] = nome_da_funo(argumentos)
corpo...
endfunction
Funes
Octave permite a definio de funes que retornam mais de um valor. A sintaxe para definir uma
funo que retorna mltiplos valores :
function [ret-list] = name (arg-list)
body
Endfunction
Em que ret-list uma lista (separada por vrgulas) de nomes de variveis que tero os valores
retornados pela funo.
suportado tambm funes aninhadas.
Operadores
Em Octave temos os operadores artimticos usuais: +; - ; /; ^ ou **;
Alm disso pode-se acrescentar um ponto final . antes de cada operado e a operao ser efetuada
elemento a elemento.
H os operadores: \ que diviso esquerda ( x \ y equivale a inverse(x)*y)
que aplica o conjugado-complexo da transposta
Operadores
Operadores
H operadores usuais de comparao: >; >=; <; <=; != ou ~= ou <>; ==
Operadores booleanos elemento a elemento: &; | e o unrio ! (ou ~)
E Short-Circuit Boolean Operators: &&; ||
Alm dos operadores de incremento usuais: ++; - -
Precedncia de Operadores
Segue em ordem decrescente de precedncia
Exponenciao ^; **; .^; .**
Soma unria, inverso, incremento, decremento e not +; -; ++; - -; ! ou ~
Transposta ; .
Multiplicao e diviso *; /;\; .\ ; .* ; ./
Adio e subtrao +; Relacionais <; <=; ==; >=; >; != ou ~= ou <>
Ou e E elemento-elemento | ; &
Ou e E lgico || ; &&
Assignment =;
Separadores de estado ; ,
Comandos
Octave possui o comando help:
Este comando pode ser usado com um argumento para printar uma mensagem breve sobre o
estilo-de-uso, ou mostrar informaes diretas de uma verso online de um manual.
Erros e Excees
H duas classes de erros que Octave produz quando encontra um input que no consegue entender, ou
quando no consegue executar uma ao:
Parse Error: ocorre se Octave no consegue entender algo que foi digitado
Run-time Errors ou Evaluation Errors: Ocorrem em tempo de evaluation, quando o programa est
rodando ou sendo avaliado.
Erros e Excees
Warnings no abortam o programa corrente.
Um exemplo de warning quando um nmero dividido por zero. Nesse caso o Octave lanar um
warning e atribuir o valor Inf ao resultado.
(Inf: escalar, matriz ou N-dimensional array cujos elementos sao a representao IEEE para infinito
positivo)
Orientao a objetos
Octave suporta orientao objetos, permitindo implementao de herana, agregao, criao de
construtores, classes.
No entanto no o objetivo da linguagem.
Vetorizao
Concluso
Concluso
Com isso vemos que Octave uma linguagem muito til, dinmica, que tem diversas aplicaes e um
potencial de abrangncia bem grande.
Referncias
1.
2.
<http://www.gnu.org/software/octave/about.html> Acesso em
<14/05/2016>
http://profs.sci.univr.it/~caliari/pdf/octave.pdf