Python程序显示上三角矩阵

WBOY
WBOY 转载
2023-09-05 20:49:06 741浏览

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  

以上就是Python程序显示上三角矩阵的详细内容,更多请关注php中文网其它相关文章!

声明:本文转载于:tutorialspoint,如有侵犯,请联系admin@php.cn删除