创建一个数组,可为方阵和非方阵,

该数组 特定对角线 及 对角线下 值为 1,其他为 0

 

用法

np.tri(R, C=None, k=0, dtpye='float')

主对角线:把非方阵扩充成方阵后,方阵的对角线

R: 数组行数

C: 数组列数,默认等于 R

k: k=0 代表特定对角线为主对角线,k>0 代表特定对角线高于主对角线,k<0 代表 特定对角线低于主对角线

 

示例

### 方阵
print("tri与主对角线 : \n", np.tri(3, 3, 0), "\n")
# [[1. 0. 0.]
#  [1. 1. 0.]
#  [1. 1. 1.]]
print("tri与主对角线 及 上 : \n", np.tri(3, 3, 1), "\n")
# [[1. 1. 0.]
#  [1. 1. 1.]
#  [1. 1. 1.]]
print("tri与主对角线 及 下: \n", np.tri(3, 3, -1), "\n")
# [[0. 0. 0.]
#  [1. 0. 0.]
#  [1. 1. 0.]]


### 非方阵
print("tri与主对角线 : \n", np.tri(3, 5, 0), "\n")
# [[1. 0. 0. 0. 0.]
#  [1. 1. 0. 0. 0.]
#  [1. 1. 1. 0. 0.]]
print("tri with k = 1 : \n", np.tri(3, 5, 1, dtype=float), "\n")
# [[1. 1. 0. 0. 0.]
#  [1. 1. 1. 0. 0.]
#  [1. 1. 1. 1. 0.]]
print("tri with k = -1 : \n", np.tri(3, 5, -1), "\n")
# [[0. 0. 0. 0. 0.]
#  [1. 0. 0. 0. 0.]
#  [1. 1. 0. 0. 0.]]

 

 

 

参考资料:

https://www.imangodoc.com/3462.html