📜  Python中的 numpy.triu()(1)

📅  最后修改于: 2023-12-03 15:04:33.831000             🧑  作者: Mango

Python中的 numpy.triu()

在Python中, numpy.triu() 是一个函数,用于返回输入矩阵的右上三角形。

简介

numpy.triu() 函数返回由给定矩阵的右上三角形构成的新矩阵。

右上三角形是由对角线及其上方的所有元素组成的。

下面是该函数的语法:

numpy.triu(m, k=0)
参数说明
  • m: 输入的矩阵
  • k: 对角线的位置。默认值为0。k > 0 时,会在主对角线上方的位置上属于第 k 个位置上的所有元素都为0;k < 0 时,则是在主对角线下方。
返回值

函数返回由给定矩阵的右上三角形构成的新矩阵。

使用示例:
示例1
import numpy as np

# 创建一个5x5的矩阵。
m = np.array([[1, 2, 3, 4, 5],
              [6, 7, 8, 9, 10],
              [11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25]])

# 使用numpy.triu()获取矩阵的右上角矩阵,对角线为0
right_upper_matrix = np.triu(m)

print("右上角矩阵: \n", right_upper_matrix)

输出结果:

右上角矩阵:
 [[ 1  2  3  4  5]
  [ 0  7  8  9 10]
  [ 0  0 13 14 15]
  [ 0  0  0 19 20]
  [ 0  0  0  0 25]]
示例2:
import numpy as np

# 创建一个5x5的矩阵。
m = np.array([[1, 2, 3, 4, 5],
              [6, 7, 8, 9, 10],
              [11, 12, 13, 14, 15],
              [16, 17, 18, 19, 20],
              [21, 22, 23, 24, 25]])

# 使用numpy.triu()获取矩阵的主对角线以上两个位置矩阵
right_upper_matrix = np.triu(m, k=2)

print("右上角矩阵(对角线以上两个位置): \n", right_upper_matrix)

输出结果:

右上角矩阵(对角线以上两个位置):
 [[ 0  0  3  4  5]
  [ 0  0  0  9 10]
  [ 0  0  0  0 15]
  [ 0  0  0  0  0]
  [ 0  0  0  0  0]]
总结

numpy.triu() 函数是将一个矩阵的下三角元素置为0,获取上半部分的矩阵的功能。

使用 numpy.triu() 可以实现快速获取矩阵的对角线以上元素,对于一些对角矩阵操作很有用。