Ejemplo, matrices: Suma y Multiplicación (numpy y listas)

Datos fijos

Funciones básicas

Dadas dos matrices, se calculará:

  • Calcular y visualizar la matriz Suma.

  • Calcular y visualizar la matriz Multiplicación.

Deberá utilizar numpy y listas

Datos

Matriz 1.

Matriz 2.

Código en python

matriz1=[[1,2],[5,3]]
matriz2=[[4,5], [2,3]]

Puntualizaciones

Independientemente como se utilice hay, inicializar las matrices que se van a utilizar

Con listas

Teniendo el valor de las filas y columnas

Teniendo el valor de las filas y columnas
suma,multi=[],[]
for i in range(filas):
   matriz1.append([])
   for j in range(columnas):
          matriz1[i].append(pedir_datos("Dame el dato de la matriz 1: fila {} y columna {}: ".format(i+1,j+1)))

Con numpy

zeros, permite crear una matriz con valor de cero. ones la crea con uno.

from numpy import *
suma=zeros([filas,columnas])
multi=ones([filas,columnas])

empty, permite crear una matriz sin datos

import numpy as np
suma=np.empty([filas,columnas])
multi=np.empty([filas,columnas])

Con listas

Hay que hacer los cálculos dato a dato, en este caso, suma y multiplicación

for i in range(filas):
    suma.append([0]*columnas)
    for j in range(columnas):
        suma[i][j]=matriz1[i][j]+matriz2[i][j]
for i in range(filas):
    multi.append([0]*columnas)
    for j in range(columnas):
        multi[i][j]=matriz1[i][j]*matriz2[i][j]

Con numpy

Utilizar sus instrucciones sumar, dot multiplicar

import numpy as np
suma=np.array(matriz1)+np.array(matriz2)
multi=np.dot(matriz1,matriz2)
from numpy import *
suma=matriz1+matriz2
multi=dot(matriz1,matriz2)

Código común

Función que permite visualizar una matriz

def imprimir_matriz(mensaje1,matriz):
    mensaje=mensaje1 + "\n"+"\t"
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            mensaje+=str(matriz[i][j])+ "\t"
        mensaje+="\n"+"\t"
    print(mensaje)

Código, utilizando listas

def imprimir_matriz(mensaje1,matriz):
    mensaje=mensaje1 + "\n"+"\t"
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            mensaje+=str(matriz[i][j])+ "\t"
        mensaje+="\n"+"\t"
    print(mensaje)
#Inicializar las matrices
matriz1=[[1,2],[5,3]]
matriz2=[[4,5], [2,3]]
filas=len(matriz1)
columnas=len(matriz1[1])
print("filas",filas, "columnas", columnas)
suma,multi=[],[]
for i in range(filas):
    suma.append([0]*columnas)
    for j in range(columnas):
        suma[i][j]=matriz1[i][j]+matriz2[i][j]
for i in range(filas):
    multi.append([0]*columnas)
    for j in range(columnas):
        multi[i][j]=matriz1[i][j]*matriz2[i][j]
  #Imprimir los resultados
print("Resultados")
imprimir_matriz("Matriz 1:",matriz1)
imprimir_matriz("Matriz 2:",matriz2)
imprimir_matriz("Suma:",suma)
imprimir_matriz("Multiplicación:",multi)

Código utilizando numpy import numpy as np

import numpy as np
def imprimir_matriz(mensaje1,matriz):
    mensaje=mensaje1 + "\n"+"\t"
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            mensaje+=str(matriz[i][j])+ "\t"
        mensaje+="\n"+"\t"
    print(mensaje)
#Inicializar las matrices
matriz1=[[1,2],[5,3]]
matriz2=[[4,5], [2,3]]
filas=len(matriz1)
columnas=len(matriz1[1])
#Crea la matriz
suma=np.empty([filas,columnas])
multi=np.empty([filas,columnas])

suma=np.array(matriz1)+np.array(matriz2)
multi=np.dot(matriz1,matriz2)
#Imprimir los resultados
print("Resultados")
imprimir_matriz("Matriz 1:",matriz1)
imprimir_matriz("Matriz 2:",matriz2)
imprimir_matriz("Suma:",suma)
imprimir_matriz("Multiplicación:",multi)

Código utilizando numpy from numpy import *

from numpy import *
def imprimir_matriz(mensaje1,matriz):
    mensaje=mensaje1 + "\n"+"\t"
    for i in range(len(matriz)):
        for j in range(len(matriz[i])):
            mensaje+=str(matriz[i][j])+ "\t"
        mensaje+="\n"+"\t"
    print(mensaje)
#Inicializar las matrices
matriz1=array([[1,2],[5,3]])
matriz2=([[4,5], [2,3]])
filas=len(matriz1)
columnas=len(matriz1[1])
#Crea la matriz
suma=empty([filas,columnas])
multi=empty([filas,columnas])

suma=matriz1+matriz2
multi=dot(matriz1,matriz2)
#Imprimir los resultados
print("Resultados")
imprimir_matriz("Matriz 1:",matriz1)
imprimir_matriz("Matriz 2:",matriz2)
imprimir_matriz("Suma:",suma)
imprimir_matriz("Multiplicación:",multi)

Probarlo

Última actualización

¿Te fue útil?