11 Matrices
11 Matrices
por
Jhonny Felipez
Universidad Mayor de San Andrés
Contenido
O ¿Qué es una matriz?
O Creación e Inicialización de Matrices
O Crea e Inicializa una Matriz con un dato
O Lectura de una Matriz
O Imprime Matriz
O Procesamiento de Matrices
2
¿Qué es una Matriz?
3
Introducción
Una matriz es una colección de números
organizados en un número fijo de filas y
columnas.
Columnas Columnas
F
i
l
a
s
4
Introducción
O Matriz es un caso especial de arreglo de
una dimensión donde cada elemento de
datos tiene la misma cantidad de
elementos.
O Las matrices son estructuras de datos muy
importantes para muchos cálculos
matemáticos y científicos.
5
Creación e Inicialización
de Matrices
6
Creación e inicialización de
una Matriz en Python
Estructura general: (arreglo de tamaño fijo)
Columnas
7
Ejemplo
Arreglo de tamaño fijo
matriz = [[ 1, 2, 3], [1, 2, 3]
[ 4, 5, 6], [4, 5, 6]
[ 7, 8, 9], [7, 8, 9]
[10,11,12]] [10, 11, 12]
1
print(matriz[0]) 12
print(matriz[1])
print(matriz[2])
print(matriz[3])
print(matriz[0][0])
print(matriz[3][2])
8
Ejemplo
Arreglo de tamaño fijo
matriz = [[0, 0, 0],
[1, 1, 1],
[2, 2, 2],
[3, 3, 3]]
print(matriz)
9
Crea e Inicializa una
Matriz con un dato
10
Ejemplo 1
Matriz de 2 x 3
def creaMatriz(n,m,dato):
matriz = [] # lista vacia
for i in range(n):
matriz.append([]) # Adi una nueva fila vacia
for j in range(m):
matriz[i].append(dato)
return matriz
matriz = creaMatriz(2,3,0)
print(matriz)
[[0, 0, 0], [0, 0, 0]]
11
Ejemplo 2
Matriz de 2 x 3
def creaMatriz(n,m,dato):
matriz = [] # lista vacia
for i in range(n):
matriz.append([dato] * m) # lista de m valores
return matriz
matriz = creaMatriz(2,3,0)
print(matriz)
12
Ejemplo 3
Matriz de 2 x 3
def creaMatriz(n,m,dato):
matriz = [0] * n # lista de n ceros
for i in range(n):
matriz[i] = [dato] * m # lista de m valores
return matriz
matriz = creaMatriz(2,3,0)
print(matriz)
13
Ejemplo 4
Matriz de 2 x 3
def creaMatriz(n,m,dato):
matriz = [[dato] * m for i in range(n)]
return matriz
matriz = creaMatriz(2,3,0)
print(matriz)
14
Lectura de una Matriz
15
Ejemplo 1
Lee una Matriz 2 x 3
def leeMatriz(n,m):
matriz = [[0] * m for i in range(n)] # Crea Matriz
for i in range(n):
for j in range(m):
matriz[i][j] = int(input(f"[{i}][{j}]: "))
return matriz
18
Ejemplo 4
Lee una Matriz 2 x m (variable)
def leeMatriz(n):
matriz = []
for i in range(n):
linea = list(map(int,input().split())) # lista
matriz.append(linea)
return matriz
20
Ejemplo 1
Puede usar el ciclo for in para recorrer todos
los elementos de una Matriz.
def imprimeMatriz(matriz,n,m):
for i in range(n):
for j in range(m):
print(matriz[i][j], end=" ")
print()
matriz = [[0, 0, 0],[1, 1, 1],[2, 2, 2],[3, 3, 3]]
imprimeMatriz(matriz,4,3)
0 0 0
1 1 1
2 2 2
3 3 3
21
Ejemplo 2
Puede usar el ciclo for in para recorrer todos
los elementos de una Matriz.
def imprimeMatriz(matriz,n,m):
for i in range(n):
for j in range(m):
print(f"[{matriz[i][j]:2}]", end="")
print()
matriz = [[0, 0, 0],[1, 1, 1],[2, 2, 2],[3, 3, 3]]
imprimeMatriz(matriz,4,3)
[ 0][ 0][ 0]
[ 1][ 1][ 1]
[ 2][ 2][ 2]
[ 3][ 3][ 3]
22
Ejemplo 3
Puede usar el ciclo for in para recorrer todos
los elementos de una Matriz.
def imprimeMatriz(matriz,n,m):
for fila in matriz:
for x in fila:
print(f"[{x:2}]",end="")
print()
matriz = [[0, 0, 0],[1, 1, 1],[2, 2, 2],[3, 3, 3]]
imprimeMatriz(matriz,4,3)
[ 0][ 0][ 0]
[ 1][ 1][ 1]
[ 2][ 2][ 2]
[ 3][ 3][ 3]
23
Procesamiento de Matrices
24
Suma todos los elementos
de una matriz
def sumaElementos(matriz,n,m):
suma = 0
for i in range(n):
for j in range(m):
suma = suma + matriz[i][j]
return suma
El total es 45
25
Suma los elementos por fila
de una matriz
def sumaElementosPorFila(matriz,n,m):
for i in range(n):
suma = sum(matriz[i])
print("La suma de la fila", i, "es", suma)
La suma de la fila 0 es 6
La suma de la fila 1 es 15
La suma de la fila 2 es 24
26
Imprime la fila que tiene la
suma máxima
def indiceFilaMaxima(matriz,n,m):
smax = sum(matriz[0])
ind = 0
for i in range(1,n):
if sum(matriz[i]) > smax:
smax = sum(matriz[i])
ind = i
return smax, ind
matriz = [[ 1, 2, 3], [ 4, 5, 6], [ 7, 8, 9]]
smax, ind = indiceFilaMaxima(matriz,3,3)
print("La fila", ind, "tiene la suma de", smax)
27
Matriz Identidad
Crea la matriz Identidad 3 x 3
def matrizIdentidad(n):
matriz = [[0] * n for i in range(n)] # Crea Matriz
for i in range(n):
matriz[i][i]=1
return matriz
matriz = matrizIdentidad(3)
imprimeMatriz(matriz,3,3)
[ 1][ 0][ 0]
[ 0][ 1][ 0]
[ 0][ 0][ 1]
28
Bibliografía
O https://docs.python.org/3/library/stdtypes.
html
29
Gracias