Octave
Variáveis, Matrizes e Séries
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
Variáveis, matrizes e séries
2.1
Variáveis (1)



Nome que se atribui (através do operador =)
a um valor, por forma a este poder ser
utilizado mais tarde.
O seu nome pode 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-2005/2006
Variáveis, matrizes e séries
2.2
Variáveis (2)


A uma variável pode também ser
atribuido o valor de outra variável.
Atenção: Atribuição≠ Igualdade
octave:40> a = 2
a=2
octave:41> a = 10
a=10
octave:42> b = a
b=10
octave:43> a = 3
a=3
octave:44> b
b=10
octave:45> a == b
ans = 0
octave:46> a = 10
a=10
octave:47> a == 10
ans = 1
octave:47> a == b
ans = 1
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
=
Atribuição
(Afirmação)
==
Teste de Igualdade
(Pergunta)
Variáveis, matrizes e séries
2.3
Gestão das variáveis


who – lista as
variáveis já
definidas.
clear – remove
variáveis.
octave:43> who
*** local user variables:
a
b
octave:44>clear a
octave:45>who
*** local user variables:
b
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
Variáveis, matrizes e séries
2.4
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,1) = X
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
Variáveis, matrizes e séries
2.5
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-2005/2006
Variáveis, matrizes e séries
2.6
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-2005/2006
Variáveis, matrizes e séries
2.7
Matrizes (2)

Definir uma matriz como retorno de uma
função.

b=rand(3,2) ;(A função retorna valores
aleatórios entre 0 e 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-2005/2006
Variáveis, matrizes e séries
2.8
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 ]
ans=
1 1 2
3 5 8
13 21 34
1 1 2
3 5 8
13 21 34
octave:4> [ a, a; a]
error: number of columns must match (3 != 6)
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
Variáveis, matrizes e séries
2.9
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-2005/2006
Variáveis, matrizes e séries
2.10
Matrizes (5)
(Eye, Ones, Zeros e Transposta)
octave:37> eye(3)
ans =
100
010
001
octave:38> eye(3,2)
ans =
10
01
00
octave:41> eye(3,2)‘
ans =
octave:39> ones(3,2)
ans =
11
11
11
octave:40> zeros(2,4)
ans =
0000
0000
100
010
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
Variáveis, matrizes e séries
2.11
Matrizes (6)

Multiplicação (algébrica) de matrizes
>> a=eye(3)
>> b=ones(3)
>> a * b
ans =
1 1 1
1 1 1
1 1 1

[ ][ ][ ]
1 0 0
1 1 1
1 1 1
0 1 0 × 1 1 1 = 1 1 1
0 0 1
1 1 1
1 1 1
Precondição: columns(a) == rows(b)
Multiplicação (pontual) de matrizes
>> a .* b
ans =
1 0 0
0 1 0
0 0 1
[ ] [ ][ ]
1 0 0
1 1 1
1 0 0
0 1 0 .× 1 1 1 = 0 1 0
0 0 1
1 1 1
0 0 1
Precondição: size(a) == size(b)
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
Variáveis, matrizes e séries
2.12
Séries

Sintaxe geral:
LIMITE_INFERIOR:PASSO:LIMITE_SUPERIOR
octave:1> 1:5
ans =
12345
octave:2>1:3:11
ans =
1 4 7 10
octave:23> [1:3:11;1:4]
ans =
1 4 7 10
123 4
Introdução aos Computadores e à Programação
DI-FCT-UNL-2005/2006
Variáveis, matrizes e séries
2.13
Exercícios Propostos



1- Escrever numa matriz de 1 linha e 15
colunas, 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-2005/2006
Variáveis, matrizes e séries
2.14
Download

Octave2