Maison  >  Article  >  développement back-end  >  Programme Python pour calculer la somme de la diagonale gauche d'une matrice

Programme Python pour calculer la somme de la diagonale gauche d'une matrice

王林
王林avant
2023-09-17 23:33:051378parcourir

Programme Python pour calculer la somme de la diagonale gauche dune matrice

Python est un langage de programmation généraliste populaire utilisé dans un large éventail d'industries, des applications de bureau au développement Web et à l'apprentissage automatique.

Sa syntaxe simple le rend idéal pour les débutants débutant en codage. Dans cet article, nous allons apprendre à calculer « la somme des éléments diagonaux gauches d'une matrice » en utilisant Python.

Matrice

En mathématiques, nous utilisons un tableau ou une matrice rectangulaire pour décrire des objets mathématiques ou des propriétés d'objets mathématiques. Il s'agit d'un tableau ou d'un tableau rectangulaire contenant des nombres, des symboles ou des expressions disposés en lignes et en colonnes.

Exemple

2 3 4 5
1 2 3 6
7 5 7 4

Il s’agit donc d’une matrice de 3 lignes et 4 colonnes. Et exprimé sous forme de matrice 3*4.

  • Il y a deux diagonales dans la matrice, à savoir la diagonale principale et la sous-diagonale.

  • La diagonale principale est la diagonale du coin supérieur gauche au coin inférieur droit, et la diagonale secondaire est la diagonale du coin inférieur gauche au coin supérieur droit.

D'après l'exemple donné -

2 3        a00 a01
1 2        a10 a11

Ici, a00 et a11 sont toutes des diagonales principales, et a10 et a01 sont des matrices secondaires diagonales principales.

Somme de la diagonale gauche de la matrice

Maintenant que nous avons révisé les bases et que nous avons une compréhension approfondie des matrices et des diagonales, approfondissons le sujet et terminons l'aspect codage.

Pour calculer la somme, on prend une matrice 2D. Considérons une matrice 4*4 dont les éléments sont les suivants -

2 4 6 8       a00 a01 a02 a03
3 5 7 9       a10 a11 a12 a13
1 4 6 7       a20 a21 a22 a23
3 5 1 4       a30 a31 a32 a33
  • Ici, a00,a11,a22,a33 sont des matrices primaires ou primaires, il y a une condition avant de terminer la tâche. Comprenons les conditions de deux diagonales.

  • Afin de prendre la somme des éléments présents dans la diagonale principale d'une matrice, celle-ci doit satisfaire à la condition ligne-colonne, qui précise que pour la somme des éléments, elle doit avoir des éléments comme ligne = colonne.

  • Maintenant pour la sous-diagonale, pour les éléments a03, a12, a21, a30, la condition de ligne et de colonne sera nombre de lignes - nombre de colonnes - 1.

Utiliser For Loop

Dans cette méthode, nous utiliserons deux boucles pour y parvenir, une boucle pour les lignes et les colonnes et une boucle interne pour vérifier la condition que nous fournissons.

Algorithme

  • Donne une valeur MAX.

  • Fonctions qui définissent des matrices.

  • Utilisez une boucle for pour parcourir les nombres.

  • Fournissez les conditions pour la diagonale gauche de la matrice.

  • Imprimez la valeur.

Exemple

L'exemple donné ci-dessous consiste à calculer la somme des éléments diagonaux gauche dans une matrice 4 x 4. La boucle for parcourt chaque ligne et colonne de la matrice, et si elles sont égales (c'est à dire sur la diagonale gauche), l'élément est ajouté à une variable appelée "leftmatrix".

max = 50
def sumleftmatrix(matrix, m):
   leftmatrix = 0
   for i in range(0, m):
      for j in range(0, m):
         if (i == j):
            leftmatrix += matrix[i][j]
   print("Sum of left diagonal of the matrix:", leftmatrix)
A = [[ 10, 22, 13, 84 ],
   [ 52, 63, 97, 82 ],
   [ 11, 32, 23, 14 ],
   [ 55, 63, 72, 83 ]]
sumleftmatrix(A, 4)

Sortie

Dans cette méthode, nous définissons simplement une fonction et créons une plage de lignes et de colonnes à l'aide d'une boucle for. Ajoutez une condition pour les éléments présents dans la diagonale gauche.

Complexité temporelle− O(N*N) car nous utilisons des boucles imbriquées pour vérifier N*N fois.

Puisque nous ne consommons aucun espace supplémentaire, la complexité de l'espace auxiliaire est O(1).

Sum of left diagonal of the matrix: 179

Utilisez une seule boucle

Dans cette méthode, une seule boucle peut être utilisée pour calculer la somme des diagonales primaires et secondaires.

Algorithme

  • Donne une valeur MAX.

  • Fonctions qui définissent des matrices.

  • Utilisez une boucle for pour parcourir les nombres.

  • Fournissez les conditions pour la diagonale gauche de la matrice.

  • Imprimez la valeur.

Exemple

L'exemple suivant définit une fonction appelée sumofleftdiagonal, qui accepte deux paramètres : matrice et m.

  • Le premier paramètre Matrix est un tableau bidimensionnel et le deuxième paramètre m représente la taille du tableau bidimensionnel.

  • Il y a une variable nommée left_diagonal dans cette fonction, qui est utilisée pour stocker la somme de tous les éléments sur la diagonale gauche de la matrice

  • Ensuite, la boucle for parcourt chaque élément compris entre 0 et m (taille) et ajoute les valeurs dans left_diagonal.

  • Enfin, l'instruction de sortie affiche "La somme de la diagonale gauche est :", suivie du contenu stocké dans left_diagonal. Exemple donné avec MAX réglé sur 50 et T étant un autre tableau 4x4

MAX = 50
def sumofleftdiagonal (matrix, m):
   left_diagonal = 0
   for i in range(0, m):
      left_diagonal += matrix[i][i]
   print("Sum of Left Diagonal is:", left_diagonal)
T = [[ 11, 12, 33, 24 ],
   [ 54, 69, 72, 84 ],
   [ 14, 22, 63, 34 ],
   [ 53, 64, 79, 83 ]]
sumofleftdiagonal (T, 4)

Sortie

La complexité temporelle est O(N) car elle nécessite une boucle pour itérer N éléments. Puisqu’aucun espace supplémentaire n’est consommé, la complexité de l’espace auxiliaire est O(1).

Sum of Left Diagonal is: 226

Conclusion

Dans cet article, nous avons brièvement discuté de deux façons simples de calculer la somme des diagonales gauches d'une matrice à l'aide de programmes Python. La première méthode utilise deux boucles pour accomplir la tâche qui nous est confiée, tandis que la seconde méthode nous fournit un moyen efficace d'accomplir la même tâche sur un chemin plus court.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer