Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… ·...
Transcript of Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… ·...
![Page 1: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/1.jpg)
1
Matrizes – Parte 1
Prof. Jesús P. Mena-ChalcoCMCC/UFABC
Q2/2018
Processamento da Informação
![Page 2: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/2.jpg)
2
Matriz bidimensional em Java
Declaração de uma variável que representa uma matriz bidimensional de inteiros (10 linhas e 20 colunas)
![Page 3: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/3.jpg)
3
Matriz bidimensional em Java
.
.
.
linhas
colunas
0
1
2
3
0 1 2 3 4 5 ...
![Page 4: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/4.jpg)
4
Matriz bidimensional em Java
matriz[2][0]
0
1
2
3
0 1 2 3 4 5
matriz[1][4]
![Page 5: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/5.jpg)
Matriz bidimensional em Java Declara uma matriz Mde 100 linhas
com 200 colunas(20mil inteiros)
Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)
A memória do computador é linear!
![Page 6: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/6.jpg)
Matriz bidimensional em JavaEstrutura da matriz na memória do computador
Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)
![Page 7: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/7.jpg)
Material adaptado da aula de Matrizes de Ronaldo F. Hashimoto e Carlos H. Morimoto (IME/USP)
Disposição dos 20mil elementos da matriz M na memória
![Page 8: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/8.jpg)
8
Erros comuns
0
1
2
3
0 1 2 3 4 5
matriz[-1][4]
matriz[4][6]
- Considerar índices negativos- Considerar índices que ultrapassam as dimensões da matriz
int M[][] = new int[4][6]
![Page 9: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/9.jpg)
Matriz bidimensional (imagem em níveis de cinza)
Nível=18
![Page 10: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/10.jpg)
Matriz tridimensional (imagem em RGB)
{Red, Green, Blue}
![Page 11: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/11.jpg)
Sistema de cor?
SISTEMA SUBTRATIVO
Sistema CMYK(impressoras)
SISTEMA ADITIVO
Sistema RGB(projetor)
Quando falamos de cor, falamos
de luz
![Page 12: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/12.jpg)
12
Matrizes
0
1
2
3
0 1 2 3 4 5
0
1
2
3
0
1
2
3
0 1 2 3 4 5
Matriz unidimensional(vetor/Array)
Matriz bidimensional(2D)
Matriz tridimensional(3D)
![Page 13: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/13.jpg)
13
Matrizes
0
1
2
3
0 1 2 3 4 5
0
1
2
3
0
1
2
3
0 1 2 3 4 5
Matriz unidimensional(vetor/Array)
Matriz bidimensional(2D)
Matriz tridimensional(3D)
M[2] M[2][4] M[2][5][2]
![Page 14: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/14.jpg)
14
![Page 15: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/15.jpg)
15
Processamento de imagens multiespectrais (imagens do mesmo objeto, mas capturadas com diferentes comprimentos de onda eletromagnéticas)Os aparelhos consideram diferentes comprimentos de onda para cada camada.
http://all-geo.org/volcan01010/2013/01/processing-arsf-remote-sensing-data-with-open-source-gis-tools/
![Page 16: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/16.jpg)
16
Exemplo 01: Definição
![Page 17: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/17.jpg)
17
Exemplo 02: Listando os elementos
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
![Page 18: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/18.jpg)
18
Exemplo 02: Listando os elementos
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
![Page 19: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/19.jpg)
19
Exemplo 03: Atribuindo valores
0 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 0 0 0 0 0 0 00 0 0 33 0 0 0 0 0 00 0 0 0 0 0 0 47 0 49
01234
0 1 2 3 4 5 6 7 8 9
![Page 20: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/20.jpg)
20
Exemplo 04: Matriz identidade de ordem n
Vamos desenvolver um método que permita criar uma matriz identidade de ordem n.
Uma matriz identidade é uma matriz quadrada, onde todos os elementos da diagonal principal é 1, os demais elementos são 0s.
Assinatura: static int[][] matrizIdentidade( int n )
![Page 21: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/21.jpg)
21
Exemplo 04: Matriz identidade de ordem n
![Page 22: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/22.jpg)
22
Exemplo 04: Matriz identidade de ordem n
![Page 23: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/23.jpg)
23
Exemplo 04: Matriz identidade de ordem n
1 0 0 00 1 0 00 0 1 00 0 0 1
![Page 24: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/24.jpg)
24
Exemplo 05: Matriz diagonal
Vamos desenvolver um método que permita verificar se uma matriz é diagonal.
Uma matriz diagonal é uma matriz quadrada onde os elementos que não pertencem à diagonal principal são obrigatoriamente iguais a zero.
Assinatura: static boolean ehDiagonal( int M[][] )
Pode ser também [][]M
![Page 25: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/25.jpg)
25
Exemplo 05: Matriz diagonal
![Page 26: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/26.jpg)
26
Exemplo 05: Matriz diagonal
![Page 27: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/27.jpg)
27
Exemplo 06: Matriz transposta
Vamos desenvolver um método que permita calcular a matriz diagonal de uma matriz dada como entrada.
Assinatura: static int[][] transposta( int [][]M )
![Page 28: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/28.jpg)
28
Exemplo 06: Matriz transposta
![Page 29: Matrizes – Parte 1professor.ufabc.edu.br/~jesus.mena/courses/pi-2q-2018/PI-teoria-11.… · (vetor/Array) Matriz bidimensional (2D) Matriz tridimensional (3D) M[2] M[2][4] M[2][5][2]](https://reader033.fdocumentos.com/reader033/viewer/2022042807/5f7fb98bba58523a9e53c3a2/html5/thumbnails/29.jpg)
29
Exemplo 06: Matriz transposta