Octave Variáveis, Matrizes e Séries Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Variáveis Nome que se atribui (através do operador =) a um valor, por forma a este poder ser utilizado mais tarde. O seu nome podem conter qualquer sequência de letras, números ou underscore (_). Não pode ser iniciado por um número. A utilização de letras minúsculas ou maiúsculas é relevante, isto é, a variável “a” pode conter um valor e a “A” um outro. Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Gestão das variáveis who – lista as variáveis já definidas. clear – remove variáveis. octave:41> i = 10; octave:42> id = [1,0;0,1] id= 1 0 0 1 octave:43> who *** local user variables: i id octave:44>clear i octave:45>who id Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Exemplos de Matrizes “Jogo do Galo” X 0 X 0 X 0 X 0 0 Posição de valores na Matriz (1,1) = X ; (2,3) = 0 ; (3,3) = 0 Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Exemplos de Matrizes “A Batalha Naval” Matriz de 10 linhas por 10 colunas, [10,10] “Posição de Peças” (2,8) ; (9,10) ; (1,5) Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Matrizes (1) , representa nova coluna. ; representa nova linha. octave:3> a=[ 1,1,2 ; 3,5,8 ; 13,21,34 ] a = 1 1 2 3 5 8 13 21 34 variável a passa a representar a matriz: Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Matrizes (2) Definir uma matriz como retorno de uma função. b=rand(3,2) ;(A função retorna valores aleatórios 0->1 ) octave:3> b b = 0.88406 0.90013 0.73682 0.15829 0.68952 0.74250 Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Matrizes (3) Podemos igualmente criar novas matrizes contendo a matriz “a”. O único cuidado a ter é manter o número de linhas e colunas constante. Correcto Errado octave:4> [ a, a ] ans= 1 1 2 1 1 2 3 5 8 3 5 8 13 21 34 13 21 34 octave:5> [ a; a ] 1 1 2 3 5 8 13 21 34 1 1 2 octave:4> [ a, a; a] error: number of columns must match (3 != 6) Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Matrizes (4) Acesso a uma dada posição de uma matriz. octave:14> a(1,2) ans = 1 octave:15> a(1,[1,2,3]) ans = 1 1 2 octave:16> a([1,2,3],2) ans = 1 5 21 Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Matrizes (5) Multiplicação de matrizes. octave:4> a*b ans = 2.9999 2.5434 11.8525 9.4318 50.4098 40.2707 o valor de a e b utilizado no produto de matrizes, é o da matriz a e b já definidas Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Séries Sintaxe geral: LIMITE_INFERIOR:PASSO:LIMITE_SUPERIOR octave:1> 1:5 ans = 1 2 3 4 5 octave:2>1:3:11 1 4 7 10 octave:23> [1:3:11;1:4] ans = 1 4 7 10 1 2 3 4 Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005
Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005 Exercícios Propostos 1- Escrever numa matriz de 15 colunas e 1 linha, os quadrados dos primeiros 15 naturais (1, 4, 9 ...). 2- Escrever numa matriz de 15 linhas e 1 coluna, os cubos dos primeiros 15 naturais (1, 8, 27 ...) 3- Escrever numa tabela de 15 linhas por 3 colunas, os primeiros 15 naturais na 1ª coluna; os quadrados dos primeiros 15 naturais na 2ª e os cubos dos primeiros 15 naturais na 3ª coluna. Introdução aos Computadores e Programação DI-FCT-UNL-2004/2005