【发布时间】:2021-02-28 05:12:58
【问题描述】:
我想在任意 NxN 矩阵中设置交替的非对角线元素,如图所示。
目前我使用的是蛮力方式,不适应矩阵大小的变化:
import numpy as np
dim = 8
size=dim**2
v=0.1
w=1
h = np.zeros(size)
valuesv = [1,8,19,26,37,44,55,62]
valuesw = [10,17,28,35,46,53]
h[valuesv] = v
h[valuesw] = w
ham=h.reshape((int(np.sqrt(size)),int(np.sqrt(size))))
有没有更优雅的方式来填充矩阵?例如。使用 numpy 的 fill_diagonal?
【问题讨论】:
-
是否保证h在其他地方为零?
-
不一定。
标签: python-3.x numpy matrix