Maison  >  Article  >  développement back-end  >  Programme Python pour calculer la somme des éléments diagonaux droits d'une matrice

Programme Python pour calculer la somme des éléments diagonaux droits d'une matrice

WBOY
WBOYavant
2023-08-19 11:29:141488parcourir

Programme Python pour calculer la somme des éléments diagonaux droits dune matrice

Python est un langage de programmation à usage général populaire. Il est utilisé dans divers secteurs, notamment les applications de bureau, le développement Web et l’apprentissage automatique. Heureusement, Python possède une syntaxe simple et facile à comprendre qui convient aux débutants. Dans cet article, nous utiliserons Python pour calculer la somme de la diagonale droite d'une matrice.

Qu'est-ce qu'une matrice ?

En mathématiques, nous utilisons un tableau ou une matrice rectangulaire pour décrire un objet mathématique ou ses propriétés. 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.

Par 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, exprimée sous forme de matrice 3*4.

Maintenant, il y a deux diagonales dans la matrice, la diagonale principale et la sous-diagonale. La diagonale principale est la ligne diagonale allant du coin supérieur gauche au coin inférieur droit, et la diagonale secondaire est la ligne diagonale allant du coin inférieur gauche au coin supérieur droit.

À partir de l'exemple ci-dessus, nous pouvons voir que a00 et a11 sont tous deux des diagonales principales (diagonale gauche), tandis que a10 et a01 sont des diagonales secondaires (diagonale droite), comme indiqué ci-dessous

2 3   a<sub>00</sub> a<sub>01</sub>
1 2   a<sub>10</sub> a<sub>11</sub>

Somme de la diagonale droite de la matrice

Puisque nous avons révisé les concepts de base et avons une compréhension complète des matrices et des diagonales, approfondissons maintenant le sujet et complétons la partie codage du concept.

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

  • Ici, a00, a11, a22 et a33 sont les principaux éléments diagonaux de la matrice. La sous-diagonale est constituée des éléments a30, a21, a12 et a03.

  • Avant de terminer cette tâche, il y a une condition importante à considérer : pour faire la somme des éléments de la diagonale principale, elle doit satisfaire à la condition dite de ligne et de colonne, c'est-à-dire que chaque élément de chaque ligne doit avoir un numéro de colonne égal.

De même, pour calculer la somme des éléments sur la sous-diagonale (a03, a12, a21 et a30), les conditions de lignes et de colonnes seront égales au nombre de lignes moins le nombre de colonnes moins 1.

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 

Utiliser For Loop

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

Algorithme

  • Donnez une valeur, qui est la valeur maximale.

  • Définissez une fonction pour la matrice.

  • Utilisez une boucle for pour parcourir les nombres

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

  • Imprimez cette valeur.

Exemple

Cet exemple définit une constante MAX avec une valeur de 50 puis crée une fonction appelée SUM_RIGHT_MATRIX qui accepte une matrice et un entier comme arguments.

Cette fonction additionne tous les nombres sur la diagonale droite de la matrice donnée (c'est-à-dire du haut à droite vers le bas à gauche) et imprime la somme.

MAX = 50
def SUM_RIGHT_MATRIX (matrix, m):
   rightD = 0;
   for i in range (0, m):
      for j in range (0, m):
         if ((i + j) == (m - 1)):
            rightD += matrix[i][j]
   print ("Sum of right diagonal is:", rightD)
T = [[ 13, 21, 33, 45 ],
   [ 52, 16, 27, 28 ],
   [ 17, 28, 31, 43 ],
   [ 54, 26, 87, 28 ]]
SUM_RIGHT_MATRIX (T, 4)

Sortie

Après avoir exécuté le programme ci-dessus, nous obtenons « La somme des diagonales droites est : 155 ». Cela signifie que la somme de tous les nombres de la diagonale droite est 155.

Sum of right diagonal is: 154

Utilisez une seule boucle

En utilisant cette méthode, la somme des diagonales principales et des sous-diagonales est calculée via une boucle.

Algorithme

  • Donnez une valeur, qui est la valeur maximale.

  • Définissez une fonction pour la matrice.

  • Utilisez une boucle for pour parcourir les nombres.

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

  • Imprimez cette valeur.

Exemple

L'exemple ci-dessous définit une fonction appelée sumofrightdiagonal qui accepte deux paramètres : une matrice et m.

  • Il parcourt la matrice et ajoute chaque nombre sur la diagonale droite de la matrice, en les stockant dans une variable appelée right_diagonal.

  • Enfin, il affiche « La somme de la diagonale droite est : » suivi de la valeur stockée dans right_diagonal. L'exemple comprend également un exemple d'entrée T (une matrice 4x4) où m est égal à 4, donc lorsque Sumofrightdiagonal est appelé avec ces valeurs comme arguments, il calculera et imprimera la somme de tous les éléments sur la diagonale droite de T.

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

Sortie

Sum of Right Diagonal: 171

Conclusion

Dans cet article, nous avons brièvement discuté de deux façons simples de calculer la somme diagonale droite d'une matrice à l'aide de programmes Python. La première méthode utilise deux boucles pour accomplir la tâche que nous avons proposée, tandis que la seconde méthode offre un moyen plus efficace d'accomplir la même tâche, mais avec 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