l 有 K(让 K 在这里是 7)不同维度的矩阵(50,50)
。我想通过用 K 矩阵填充对角线来创建一个新矩阵 L。因此 L 的尺寸为 (50*K,50*K)。
我试过什么?
K1=np.random.random((50,50))
N,N=K1.shape
K=7
out=np.zeros((K,N,K,N),K1.dtype)
np.einsum('ijik->ijk', out)[...] = K1
L=out.reshape(K*N, K*N) # L is of dimension (50*7,50*7)=(350,350)
它确实通过在其对角线内堆叠 K1 七次来创建一个新矩阵 L。但是,我想分别堆叠 K1,K2,K3,K5,K6,K7 而不是 K1 七次。
输入:
K1=np.random.random((50,50))
K2=np.random.random((50,50))
K3=np.random.random((50,50))
K4=np.random.random((50,50))
K5=np.random.random((50,50))
K6=np.random.random((50,50))
K7=np.random.random((50,50))
L=np.zeros((50*7,50*7))#
预期产出:
L[:50,:50]=K1
L[50:100,50:100]=K2
L[100:150,100:50]=K3
L[150:200,150:200]=K4
L[200:250,200:250]=K5
L[250:300,250:300]=K6
L[300:350,300:350]=K7