MC-102 — Aula 11
Matrizes

Matrizes

Matrizes

Compreensão de listas

Compreensão de listas

Matrizes

Criando Matrizes

Declarando uma matriz com Listas

>> mat = [ [] for i in range(3) ] #dentro da lista externa cria-se vazia 3 listas []
>> mat
[[], [], []]

Exemplo de declaração de matriz

Utilizando laços:

mat = []
for i in range(3): #para cada linha de 0 até 2
    l = []    #linha começa vazia
    for j in range(4):  #para cada coluna de 0 até 3
        l.append(i*j) #preenche colunas da linha i
    mat.append(l) #adiciona linha na matriz
print(mat)

Obtendo o mesmo resultado utilizando compreensão de listas:

mat = [ [i*j for j in range(4)] for i in range(3)]

Em ambos os casos a saída é:
\([[0, 0, 0, 0], [0, 1, 2, 3], [0, 2, 4, 6]]]\)

Acessando dados de uma Matriz

Acessando dados de uma Matriz

Acessando uma matriz

Acessando uma matriz

Declarando Vetores Multidimensionais

Declarando Matrizes Multidimensionais

Exemplo de vetor \(3 \times 4 \times 5\) inicialmente vazio

>>mat = [ [ [] for j in range(4) ] for i in range(3) ]
>> mat
[[[], [], [], []],
 [[], [], [], []],
  [[], [], [], []]]

Declarando uma matriz de múltiplas dimensões

Exemplo de matriz \(3 \times 4 \times 5\) inicialmente com zeros.

>>mat = [ [ [0 for j in range(5)] for j in range(4) ] for i in range(3) ]
>> mat
[ [ [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], [0, 0, 0, 0, 0], [0, 0, 0, 0, 0]]]

Exemplo com Matrizes

Exemplo

Criar funções que implementam as operações básicas sobre matrizes quadradas:

Exemplos com Matrizes

Exemplo: Soma de Matrizes

Exemplo: Soma de Matrizes

Exemplo: Soma de Matrizes

Exemplo: Multiplicação de Matrizes

Exemplo: Multiplicação de Matrizes

def multmat(mat1,mat2):
   mat3 = [[0 for j in range(n) ] for i in range(n)]
   for i in range(n):
     for j in range(n):
       for k in range(n): #calcula prod. interno da linha i por coluna j
         mat3[i][j] = mat3[i][j] + (mat1[i][k] * mat2[k][j])
   return mat3

Exercícios

Exercícios

Exercícios

Escreva um programa que leia todas as posições de uma matriz \(10\times10\). O programa deve então exibir o número de posições não nulas na matriz.

Exercícios

Exercícios

Informações Extras: NumPy

NumPy

NumPy

O tipo Array

NumPy

NumPy

NumPy

NumPy

NumPy

NumPy

NumPy

NumPy