numpy.triu函数用于从一个数组中提取或构造一个上三角矩阵,即仅保留主对角线及其上方的元素,其他元素设为0。这个函数对处理矩阵和线性代数问题非常有用。本文主要介绍一下NumPy中triu方法的使用。

numpy.triu

numpy.triu(m, k=0)    [source]

数组的上三角。

返回矩阵的副本,其中第k个对角线以下的元素为零。

请参阅tril的文档以获取更多详细信息。

例子

1)基本用法

import numpy as np

# 创建一个2D数组
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

# 提取上三角矩阵
upper_triangle = np.triu(a)

print("原始数组:")
print(a)
print("\n上三角矩阵:")
print(upper_triangle)

2)使用偏移量 k

python复制代码import numpy as np

# 创建一个2D数组
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])

# 提取上三角矩阵,偏移量为1
upper_triangle_k1 = np.triu(a, k=1)

print("原始数组:")
print(a)
print("\n上三角矩阵(k=1):")
print(upper_triangle_k1)

3)高维数组

import numpy as np

# 创建一个3D数组
a = np.array([[[1, 2, 3], [4, 5, 6], [7, 8, 9]],
              [[10, 11, 12], [13, 14, 15], [16, 17, 18]]])

# 提取上三角矩阵
upper_triangle_3d = np.triu(a)

print("原始3D数组:")
print(a)
print("\n上三角3D矩阵:")
print(upper_triangle_3d)

4)使用示例

import numpy as np

# 创建一个4x3的二维数组
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9],
              [10, 11, 12]])

# 提取上三角矩阵,偏移量为 -1
upper_triangle_k_minus1 = np.triu(a, -1)

print("原始数组:")
print(a)
print("\n上三角矩阵(k=-1):")
print(upper_triangle_k_minus1)

推荐文档

相关文档

大家感兴趣的内容

随机列表