首頁 >後端開發 >Python教學 >計算矩陣右對角線元素總和的Python程序

計算矩陣右對角線元素總和的Python程序

WBOY
WBOY轉載
2023-08-19 11:29:141532瀏覽

計算矩陣右對角線元素總和的Python程序

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

什麼是矩陣?

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

例如 −

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

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

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

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

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

矩陣右邊對角線之和

由於我們已經修訂了基本概念,並且對矩陣和對角線有了完全的理解,現在讓我們深入探討這個主題,並完成該概念的編碼部分。

為了計算總和,我們可以使用一個2D矩陣。考慮一個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 迴圈

在這個方法中,我們將使用兩個循環,一個用於行和列,另一個用於檢查我們提供的條件。

演算法

  • 給予一個值,該值是最大值。

  • 為矩陣定義一個函數。

  • 使用for迴圈來迭代數字

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

  • 列印這個值。

Example

這個範例定義了一個常數MAX,其值為50,然後建立了一個名為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

使用單一循環

使用這種方法,主對角線和次對角線的和是透過一個循環來計算的。

演算法

  • 給予一個值,該值是最大值。

  • 為矩陣定義一個函數。

  • 使用for迴圈來迭代數字。

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

  • 列印這個值。

Example

下面的範例定義了一個名為 sumofrightdiagonal 的函數,它接受兩個參數:一個矩陣和 m。

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

  • 最後,它印出"Sum of Right Diagonal is:",後面跟著儲存在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程式計算矩陣右對角線和的兩種簡單方法。第一種方法使用兩個循環來完成我們提供的任務,而第二種方法提供了一種更有效率的完成相同任務的方法,但路徑更短。

以上是計算矩陣右對角線元素總和的Python程序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除