Python 程式計算矩陣右對角線之和


Python 是一種廣受歡迎的通用程式語言。它被應用於各種行業,包括桌面應用程式、Web 開發和機器學習。幸運的是,Python 對於初學者來說具有簡單易懂的語法。在本文中,我們將使用 Python 來計算矩陣右對角線的和。

什麼是矩陣?

在數學中,我們使用矩形排列或矩陣來描述一個數學物件或其屬性,它是一個包含數字、符號或表示式以行和列排列的矩形陣列或表格。

例如 -

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

因此,這是一個具有 3 行 4 列的矩陣,表示為 3*4 矩陣。

現在,矩陣中有兩條對角線,即主對角線和副對角線。主對角線是從左上角到右下角的對角線,副對角線是從左下角到右上角的對角線。

從上面的例子我們可以看到,a00、a11 是主對角線(左對角線),a10、a01 是副對角線(右對角線),如下所示

2 3   a00 a01
1 2   a10 a11

矩陣右對角線之和

在我們複習了基本概念並對矩陣和對角線有了完整的理解後,讓我們深入探討主題,並完成該概念的編碼部分。

為了計算總和,讓我們取一個二維矩陣。考慮一個元素為 4*4 的矩陣

  • 這裡,a00、a11、a22 和 a33 是矩陣的主對角線的元素。副對角線或右對角線由元素 a30、a21、a12 和 a03 組成。

  • 在完成此任務之前,需要考慮一個重要的條件:為了取出主對角線上存在的元素之和,它必須滿足所謂的行-列條件,該條件規定每行中的每個元素都必須有等效的列號。

類似地,為了計算副對角線(a03、a12、a21 和 a30)上元素的和,其行-列條件將等於行數減去列數 -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 

使用 For 迴圈

在這種方法中,我們將使用兩個迴圈,一個用於行和列,另一個內部迴圈用於檢查我們提供的條件。

演算法

  • 給出一個值為 MAX 的值。

  • 為矩陣定義一個函式。

  • 使用 for 迴圈迭代數字

  • 提供矩陣右對角線的條件。

  • 列印值。

示例

此示例定義了一個值為 50 的常量 MAX,然後建立一個名為 SUM_RIGHT_MATRIX 的函式,該函式接收一個矩陣和一個整數作為輸入。

該函式將給定矩陣右對角線(即從右上角到左下角)上的所有數字加起來,並打印出總和。

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)

輸出

執行上述程式後,我們得到“右對角線之和為:155”。這意味著右對角線上所有數字的總和為 155。

Sum of right diagonal is: 154

使用單個迴圈

在這種方法中,使用單個迴圈計算主對角線和副對角線的和。

演算法

  • 給出一個值為 MAX 的值。

  • 為矩陣定義一個函式。

  • 使用 for 迴圈迭代數字。

  • 提供矩陣右對角線的條件。

  • 列印值。

示例

以下示例定義了一個名為 sumofrightdiagonal 的函式,它接收兩個引數:一個矩陣和 m。

  • 它遍歷矩陣並將矩陣右對角線上的每個數字加起來,並將它們儲存在一個名為 right_diagonal 的變數中。

  • 最後,它打印出“右對角線之和為:”,後跟儲存在 right_diagonal 中的值。該示例還包含一個 T(一個 4x4 矩陣)的示例輸入,其中 m 等於 4,因此當 Sumofrightdiagonal 使用這些值作為其引數呼叫時,它將計算並打印出 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)

輸出

Sum of Right Diagonal: 171

結論

在本文中,我們簡要討論了使用 Python 程式計算矩陣右對角線之和的兩種簡單方法。第一種方法使用兩個迴圈來完成我們提供給我們的任務,而第二種方法為我們提供了一種完成相同任務但路徑更短的有效方法。

更新於: 2023年4月21日

773 次瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.