Use el paquete numpy para generar una matriz con todos los 1 en la línea anti-diagonal

Hace unos días, de repente tuve la idea de numpyque hay muchas funciones en el paquete que se pueden usar para generar matrices diagonales, pero ¿hay alguna manera de generar matrices anti-diagonales? Aunque sabemos que generar una matriz anti-ángulos no tiene sentido matemático, por ejemplo, 1una matriz con todos los anti-ángulos es en realidad solo 1un signo menos diferente de una matriz con todos los anti-ángulos en la diagonal principal . Sin embargo, solo lo estudié por pura curiosidad, y aquí está la respuesta.

import numpy as np


class Debug:
    @staticmethod
    def mainProgram():
        x = np.eye(3)
        print("主对角线全为1的矩阵")
        print(x)
        for line in x:
            length = len(x)
            for i in range(int(length / 2)):
                line[i], line[length - 1 - i] = line[length - 1 - i], line[i]
        print("反对角线全为1的矩阵")
        print(x)


if __name__ == '__main__':
    debug = Debug()
    debug.mainProgram()
"""
主对角线全为1的矩阵
[[1. 0. 0.]
 [0. 1. 0.]
 [0. 0. 1.]]
反对角线全为1的矩阵
[[0. 0. 1.]
 [0. 1. 0.]
 [1. 0. 0.]]
"""

Hasta ahora, hemos visto que se genera con éxito 1una matriz con todo en la línea anti-diagonal . (Por cierto: sin dificultad, puedo jugar diez, jajaja)

Si lo encuentra útil, levante la mano para dar un Me gusta y permítame recomendarlo a más personas ~

Supongo que te gusta

Origin blog.csdn.net/u011699626/article/details/112001555
Recomendado
Clasificación