Python程序显示上三角矩阵


矩阵是由许多按行和列排列的数字组成的二维数组。方阵(其行和列具有相同数量的元素)有两个对角线。一个是主对角线——位于方阵左上角到右下角。第二个是对角线——位于右上角到左下角。

对于方阵,如果主对角线以下的所有元素都为零,则它被称为上三角矩阵

[1, 3, 4]
[0, 5, 6]
[0, 0, 3]

如果给定的矩阵不是方阵,则该矩阵不能转换为上三角矩阵。

输入输出场景

假设我们有一个方阵。输出矩阵将是上三角矩阵。

Input matrix:
[1, 3, 5, 7]
[9, 2, 4, 2]
[6, 3, 1, 4]
[5, 8, 7, 6]
 
Upper triangular matrix:
[1, 3, 5, 7]
[0, 2, 4, 2]
[0, 0, 1, 4]
[0, 0, 0, 6]

让我们看看下面的例子来显示上三角矩阵。我们将使用python的嵌套列表来创建矩阵。

示例

在这个例子中,我们将通过将下三角元素 (4, 8, 1) 替换为零来显示上三角矩阵。

arr = [[1, 2, 3],
       [4, 5, 6],
       [1, 8, 5]]

print("The original matrix: ")
for row in arr:
   print(row)
print()

print("The upper triangular matrix: ")
if(len(arr) != len(arr[0])):  
   print("Matrix should be a square matrix");  
else: 
   for i in range(3):
      for j in range(3):
         if(i<=j):
            print(arr[i][j],end="  ")
         else:
            print(0,end="  ")
      print()

输出

The original matrix: 
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]

The upper triangular matrix: 
1  2  3  
0  5  6  
0  0  5 

示例

在这个例子中,我们只显示了上三角矩阵。而不是将下三角元素转换为零。

arr = [[1, 2, 3],
       [4, 5, 6],
       [1, 8, 5]]

print("The original matrix: ")
for row in arr:
   print(row)
print()

print("The upper triangular matrix: ")
for i in range(3):
   for j in range(3):
      if(i > j):
         print(end="  ")
      else:
         print(arr[i][j],end=" ")
   print(" ")

输出

The original matrix: 
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]

The upper triangular matrix: 
1 2 3  
  5 6  
    5  

示例

在这个例子中,我们将通过将下三角元素转换为零来更新原始矩阵,然后我们将显示上三角矩阵。

arr = [[1, 2, 3],
       [4, 5, 6],
       [1, 8, 5]]

print("The original matrix: ")
for row in arr:
   print(row)
print()

print("The upper triangular matrix: ")
for i in range(3):
   for j in range(3):
      if(i > j):
         arr[i][j] = 0
         print(arr[i][j],end=" ")
      else:
         print(arr[i][j],end=" ")
   print(" ")

输出

The original matrix: 
[1, 2, 3]
[4, 5, 6]
[1, 8, 5]

The upper triangular matrix: 
1 2 3  
0 5 6  
0 0 5  

更新于:2023年5月15日

2K+ 次浏览

开启你的职业生涯

完成课程获得认证

开始学习
广告
© . All rights reserved.