Python - formar una nueva matriz

 
Vista:
sin imagen de perfil

formar una nueva matriz

Publicado por Antonio (2 intervenciones) el 01/10/2022 04:46:32
Por favor una sugerencia
Tengo las siguientes matrices, (en este caso la abrevio con menos filas y columnas por matriz y también es un número grande de matrices).
en este ejemplo serán matrices de 3X3
Mat1= [3 4 5 , 6 8 9, 2, 4 5 ]
Mat2= [4 5 6 , 7 2 1, 4 2 6]
Mat3=[4 2 3, 4 7 2, 3 9 1]

Ahora tengo que hacer el arreglo unir cada fina en una nueva matrix.
primera, llamar las filas 1 de las 3 matrices.
N1=[ 3 4 5, 4 5 6, 4 2 3]
N2=[ 6 8 9, 7 2 1, 4 7 2]
N3=[ 2 4 5, 4 2 6, 3 9 1]

La verdad que tengo muchas lo escribí asi para que me puedan entender, gracias
Seria bueno usar un for para cada nueva matriz a la hora de llamar cada fila... Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

formar una nueva matriz

Publicado por Paco (1 intervención) el 07/11/2022 18:43:43
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Mat1 = [345,689,245]
Mat2 = [456,721,426]
Mat3 = [423,472,391]
 
 
M1 = [1,2,3]
M2 = [1,2,3]
M3 = [1,2,3]
 
 
i = 0
for i in range(0,len(Mat1)):
    N1 = [1,2,3]
    j = 0
    N1[j] = Mat1[i]
    j = 1
    N1[j] = Mat2[i]
    j = j+1
    N1[j] = Mat3[i]
 
 
    if i == 0:
     M1 = N1
 
    elif i == 1:
     M2 = N1
 
    elif i == 2:
     M3 = N1
 
 
 
print('----------------')
 
print(M1)
print(M2)
print(M3)


----------------
Res
[345, 456, 423]
[689, 721, 472]
[245, 426, 391]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 2.808
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

formar una nueva matriz

Publicado por tincopasan (1082 intervenciones) el 08/11/2022 13:32:00
partamos de lo básico,ni lo ingresado ni lo esperado son matrices, con mucho optimismo vectores.

1
Seria bueno usar un for para cada nueva matriz a la hora de llamar cada fila... Gracias
Sería mejor usar las herramientas de python.

para el que quiera aprender otra forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
import numpy as np
 
Mat1= [345 , 689, 245 ]
Mat2= [456 , 721, 426]
Mat3=[423, 472, 391]
 
 
matriz =np.array([Mat1,Mat2,Mat3])
# esto es una matriz
 
nueva_matriz = np.transpose(matriz)
#la nueva y transpuesta
print(nueva_matriz)

y si querés con listas de listas sería algo así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Mat1= [345 , 689, 245 ]
Mat2= [456 , 721, 426]
Mat3=[423, 472, 391]
 
matriz = []
matriz.extend([Mat1,Mat2,Mat3])
 
result=[[0] * len(Mat1) for x in range(len(Mat1))]
 
for i in range(len(matriz)):
    for j in range(len(matriz[0])):
        result[i][j] = matriz[j][i]
 
for r in result:
    print(r)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar