llene los elementos diagonales y fuera de la diagonal de una matriz cuadrada utilizando elementos de lista
Tengo una pregunta sobre cómo llenar una matriz cuadrada de ceros (por ejemplo, 4 * 4). He escrito dos listas que contienen los valores que se colocarán en los elementos diagonales y fuera de la diagonal de la matriz cuadrada.
mat = [[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]]
elementos_diagonales en una lista: – [a, b, c, d] elementos_fueradiagonal en una lista: – [e, f, g, h, i, j, l,..]
donde
a = mat(1_1)
b = mat(2_2)
e = mat(1_2)
f = mat(1_3)
g = mat(1_4)
h = mat(2_1) etc … elementos respectivamente.
¿Puede alguien decirme cómo agregar estos valores adecuadamente a la matriz?
Esto es lo que he intentado hasta ahora en esta sección.
i=4
Hmat=np.zeros((i,i),dtype=float)
print(Hmat)
print(Hmat.diagonal())
for s in P:
print(s)
Hmat = np.fill_diagonal(Hmat, float(s))
me sigue dando este error:
AttributeError: el objeto ‘NoneType’ no tiene ningún atributo ‘ndim’
davy.ai
Puedes utilizar la función
np.fill_diagonal()
para llenar los elementos diagonales de la matriz. Para llenar los elementos fuera de la diagonal, puedes utilizar un bucle para iterar a través de la lista de elementos fuera de la diagonal y asignarlos a las posiciones correspondientes en la matriz. Por ejemplo:Esto debería llenar la matriz con los elementos correspondientes.