Octave MINICURSO - petmecanica.ufes.br

24
Octave MÓDULO 1 MINICURSO BÁSICO

Transcript of Octave MINICURSO - petmecanica.ufes.br

Page 1: Octave MINICURSO - petmecanica.ufes.br

Octave MÓDULO 1

MINICURSO

BÁSICO

Page 2: Octave MINICURSO - petmecanica.ufes.br

2

Page 3: Octave MINICURSO - petmecanica.ufes.br

Comissão do Minicurso

Bruno Cardoso Godinho Lourenç[email protected]

Samuel Lucas Moura [email protected]

3

Page 4: Octave MINICURSO - petmecanica.ufes.br

Roteiro Módulo 1● Introdução;● Área de trabalho;● Variáveis;● Comandos de Fluxo;● operadores lógicos;● Operadores relacionais;● Matrizes e vetores.

4

Page 5: Octave MINICURSO - petmecanica.ufes.br

Introdução● 1988: Apostila sobre reatores químicos;● 1ª versão: fevereiro de 1994;● C++;● Matlab vs Octave;

Inicialização● GNU Octave (CLI) - prompt de comando● GNU Octave (GUI) - Interface ajustável

5

Page 6: Octave MINICURSO - petmecanica.ufes.br

6

Page 7: Octave MINICURSO - petmecanica.ufes.br

7

Page 8: Octave MINICURSO - petmecanica.ufes.br

Variáveis

8

Page 9: Octave MINICURSO - petmecanica.ufes.br

VariáveisNome das variáveis;

Declarando uma variável:

Vari

1nome

a

integ

nome_1Integ

idade = 30

9

Page 10: Octave MINICURSO - petmecanica.ufes.br

VariáveisVariáveis reservadas:

No Octave: e=100

e

ans valores não armazenados

pi número pi

inf infinito

i j Parte imaginária de números complexos

e constante de Euler

10

Page 11: Octave MINICURSO - petmecanica.ufes.br

Operações básicasab

ba

Soma a+b

Subtração a-b

Multiplicação a*b

Divisão direta a/b

Divisão indireta a\b

Potenciação a^b

Raiz quadrada sqrt(a)

Fatorial factorial(a)

Valor absoluto abs(a)

Resto da divisão de inteiros mod(a,b) ou rem(a,b) 11

Page 12: Octave MINICURSO - petmecanica.ufes.br

Vetores e matrizesnome = [ valores ]

Mudar coluna: espaço;Mudar linha: ponto e vírgula;

12

Page 13: Octave MINICURSO - petmecanica.ufes.br

Strings

Cuidado com operações matemáticas: ASCII

nome = ‘PET Mec Ufes’ ou nome = “PET Mec Ufes”No Octave:

teste = ‘n’teste + 1

13

Page 14: Octave MINICURSO - petmecanica.ufes.br

Operadores lógicos, relacionais e comandos de

fluxo14

Page 15: Octave MINICURSO - petmecanica.ufes.br

Operadores lógicosE &&

OU ||

NÃO ~ ou !

Operadores Relacionais Menor que <

Menor ou igual <=

Maior que >

Maior ou igual >=

Diferente ~= ou !=

Igual ==15

Page 16: Octave MINICURSO - petmecanica.ufes.br

Comandos de Fluxo● FOR: controle fixo

for condiçãoCódigo a ser repetido

endfor

i=a:b

● WHILE: controle variável

while condiçãoCódigo a ser repetido

endwhile

16

Page 17: Octave MINICURSO - petmecanica.ufes.br

If-elseif-else● Possibilidades

x=0; if x==1

printf("Este é um exemplo") elseif x>=3

printf("Em que isto não é executado") else

printf("Esta frase é exibida na saída.") end

17

Page 18: Octave MINICURSO - petmecanica.ufes.br

Matrizes e Vetores

18

Page 19: Octave MINICURSO - petmecanica.ufes.br

Matrizes e vetores automáticos● Vetor por incremento: vet = início:pass0:fim● Vetor linearmente espaçado: vet = linspace(início,fim,n° de elementos)● Valores aleatório: mat = rand(n° de linhas, n° de colunas)● Matriz mágica: mat = magic(dimensão)● Nulos: variavel = zeros(n° de linhas, n° de colunas)● Uns: variavel = ones(n° de linhas, n° de colunas)● Matriz identidade: mat = eye(dimensão)● Triângulo de Pascal: mat = pascal(dimensão)

19

Page 20: Octave MINICURSO - petmecanica.ufes.br

Alterando elementosvet = mat =

vet(i)= novo valor mat(linha,coluna)=novo valor mat(:,coluna) = novo valor

mat(linha,:) = novo valor

● No Octave:

mat=ones(3)mat(4,4) = 5

20

Page 21: Octave MINICURSO - petmecanica.ufes.br

Deletando elementosvet = mat =

vet(i)= [] mat(linha,coluna) = [] mat(:,coluna) = []

mat(linha,coluna) = []

21

Page 22: Octave MINICURSO - petmecanica.ufes.br

Operações com vetores e matrizes● Termo a termo: + - e produto por escalar;● Produto habitual: *● Outras operações termo a termo: .^ e ./● Transposta: ‘ ou ctranspose(nome)

22

Page 23: Octave MINICURSO - petmecanica.ufes.br

DivisãoA/B e A\B com A e B sendo matrizes;

23

Multiplicação por inversas

Resolução de sistemas lineares Ax=b

x=A\b

Page 24: Octave MINICURSO - petmecanica.ufes.br

Dúvidas?

24