np.triu函数讲解
时间: 2023-10-19 17:12:46 浏览: 210
matlab中的triu代码-CSparse:稀疏
在NumPy中,`np.triu`函数用于提取矩阵的上三角部分,返回一个新的矩阵。其中,`triu`是“triangle upper”的缩写,表示三角形上部。下面是`np.triu`函数的基本语法:
```python
np.triu(m, k=0)
```
其中,`m`是输入的矩阵,`k`是可选参数,表示对角线的偏移量,用于控制提取上三角部分的程度。当`k=0`时,表示提取矩阵的全部上三角部分;当`k>0`时,表示向上偏移对角线(也就是提取更多的上三角部分),偏移量为`k`;当`k<0`时,表示向下偏移对角线(也就是提取更少的上三角部分),偏移量为`-k`。
下面是`np.triu`函数的示例代码:
```python
import numpy as np
# 创建一个5x5的矩阵
m = np.random.rand(5, 5)
# 提取全部上三角部分
u1 = np.triu(m)
print(u1)
# 提取偏移对角线1个单位的上三角部分
u2 = np.triu(m, k=1)
print(u2)
# 提取偏移对角线2个单位的上三角部分
u3 = np.triu(m, k=2)
print(u3)
```
上述代码中,`np.random.rand(5, 5)`用于创建一个5x5的随机矩阵。然后,分别使用`np.triu`函数提取了该矩阵的全部上三角部分、偏移对角线1个单位的上三角部分和偏移对角线2个单位的上三角部分,并输出了结果。
需要注意的是,`np.triu`函数返回的是一个新的矩阵,不会改变原矩阵。如果想要直接改变原矩阵,可以使用`m.triu()`方法。
阅读全文