INTRODUÇÃO À COMPUTAÇÃO
- EPET006 -
Heleno Pontes Bezerra Neto - [email protected]
Variáveis Compostas Homogêneas Multidimensionais
5. ESTRUTURAS DE DADOS
V. C. Homog. Unidimensionais
Exemplo 39: Fazer um programa que leia um vetor de 10 posições e
coloque-o em ordem crescente, utilizando a seguinte estratégia:
 Selecione o elemento do vetor que apresenta o menor valor;
 Troque este elemento pelo primeiro;
 Repita essas operações envolvendo agora apenas os 9 elementos
restantes, até restar um único elemento.
5. ESTRUTURAS DE DADOS
V. C. Homog. Unidimensionais
inicial [2 8 1 5]
j=1 [1 8 2 5]
j=2 [1 2 8 5]
j=3 [1 2 5 8 ]
J=4 [1 2 5 8]
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
variável
matriz
1
5
4
3
elemento
Os elementos de uma matriz M bidimensional são acessados por M(i,j)
obs: - Uma matriz pode ser entendida como um conjunto de vetores
- Para manipularmos um vetor, basta um laço de repetição
- Para manipularmos uma matriz, são necessários “n” laços de repetição,
sendo “n’ a dimensão da matriz
NO MATLAB
A = [1 2 3;4 5 6]
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
- Matrizes: Uma variável onde é armazenada uma matriz pode ser criada
escrevendo-se os elementos da matriz entre colchetes [ ].Elementos de
uma linha devem ser separados por vírgula ou espaço. Linhas devem ser
separadas por ponto e vírgula.
>> A = [1,2,3;4,5,6;7,8,9]
A =
1
2
3
4
5
6
7
8
9
>> A = [1 2 3;4 5 6;7 8 9]
A =
1
2
3
4
5
6
7
8
9
O identificador de uma variável que armazena uma matriz obedece à
sintaxe A(i,j), onde A(i,j) é uma matriz com “i” linhas e “j” colunas.
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
Os elementos de uma matriz podem ser acessados das seguintes formas:
>> A(3,1)
ans =
7
>> A(1,:)
ans =
1
: indica que todas as colunas estão
sendo mapeadas
2
: indica que todas as linhas estão
sendo mapeadas
>> A(:,2)
ans =
2
5
8
>> A(:,2:3)
ans =
2
5
8
3
3
6
9
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
- Matrizes especiais: O MATLAB tem algumas matrizes pré-definidas
>> eye(2)
ans =
1
0
0
1
>> eye(2,3)
ans =
1
0
0
1
>> rand(2,3)
ans =
0.5672 0.1293
0.1294 0.5432
>> zeros(2,3)
ans =
0
0
0
0
>> ones(2,3)
ans =
1
1
1
1
0
0
0.7981
0.9216
0
0
1
1
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
-Operações com matrizes
. Operações aritméticas usuais
>> A=[1,2;3,4]; B=[-3;1]; C=[3,5;-5,2];
>> A+C
ans =
4
7
-2
6
>> 3*A
ans =
3
6
9
12
>> C*A
ans =
18
26
1
-2
>> A^2
ans =
7
10
15
22
5. ESTRUTURAS DE DADOS
. Operações matriciais específicas
Seja a matriz
>> A = [1 2;3 4]
A =
1
2
3
4
Transposta
>> A’
ans =
1
3
2
4
Inversa
>> inv(A)
ans =
-2
1
1.5
-0.5
Determinante
>> det(A)
ans =
-2
V. C. Homog. Multidimensionais
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
Seja a matriz
>> A = [1 2;-4 0]
A =
1
2
-4
0
Linha que contém o maior/menor valor da matriz
>> min(A)
ans =
-4
0
>> max(A)
ans =
1
2
Dimensão de uma matriz
>> c=size(A)
c =
2
2
Ponto antes do operador (efetua a operação termo a termo)
>> A^2
>> A.^2
ans =
ans =
-7
2
1
4
-4
-8
16
0
≠
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
Exemplo 41:
M = [1 2 3; 4 5 6]
% imprime o elemento da segunda linha e terceira coluna.
disp(M(2,3));
% Alterando o mesmo elemento da matriz.
M(2,3) = 10;
% imprime todos os elementos da segunda linha da matriz.
for j = 1:1:3
disp(M(2,j));
end
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
Exemplo 42: Construir uma programa para ler duas
matrizes, efetuar a sua soma e imprimir o resultado.
for i = 1:1:5
disp(‘linha’);
disp(i);
for j = 1:1:5
disp(‘coluna’);
disp(j);
a(i,j) = input(‘elemento da matriz a: ’);
b(i,j) = input(‘elemento da matriz b: ’);
c(i,j) = a(i,j) + b(i,j);
end
end
disp(c)
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
Exemplo 43: Construir um programa para ler uma matriz 5x5
e calcular a sua transposta.
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
Exemplo 43: Construir um programa para ler uma matriz 5x5
e calcular a sua transposta.
for i = 1:1:5
for j = 1:1:5
fprintf(‘Linha %d \n’,i);
fprintf(‘Coluna %d \n’,j);
A(i,j) = input(‘elemento da matriz A: ‘);
end
end
for i = 1:1:5
for j = 1:1:5
B(i,j) = A(j,i);
end
end
disp(B)
5. ESTRUTURAS DE DADOS
V. C. Homog. Multidimensionais
Exemplo 43 modificado: Construir um programa para ler uma
matriz 5x5 e calcular a sua transposta.
for i = 1:1:5
for j = 1:1:5
fprintf(‘Linha %d \n’,i);
fprintf(‘Coluna %d \n’,j);
A(i,j) = input(‘A: ‘);
B(j,i)=A(i,j);
end
end
disp(B);
Download

Apresentação do PowerPoint