我正在寻找一种高效的方法来获得这样的2D数组:
array([[ 2., -0., -0., 0., -0., -0., 0., 0., -0., 0.],
[ 0., -1., -0., 0., -0., -0., 0., 0., -0., 0.],
[ 0., -0., -5., 0., -0., -0., 0., 0., -0., 0.],
[ 0., -0., -0., 2., -0., -0., 0., 0., -0., 0.],
[ 0., -0., -0., 0., -5., -0., 0., 0., -0., 0.],
[ 0., -0., -0., 0., -0., -1., 0., 0., -0., 0.],
[ 0., -0., -0., 0., -0., -0., 0., 0., -0., 0.],
[ 0., -0., -0., 0., -0., -0., 0., 2., -0., 0.],
[ 0., -0., -0., 0., -0., -0., 0., 0., -5., 0.],
[ 0., -0., -0., 0., -0., -0., 0., 0., -0., 4.]])
对角线元素包含值。我当前的尝试:
import numpy as np
N = 10
k = np.random.randint(-5, 5, size=N) # weights
xk = k * np.identity(N) # scaled+shifted unit impulses
有没有直接获取k*np.identity()
的方法?可能是scipy
,因为这种类型的数组在DSP中很常见。
1条答案
按热度按时间tsm1rwdh1#
给予
为你创建一个对角矩阵。在这种情况下,你只需要创建相应的对角元素。
根据你的情况:
给予