有可能将一个小矩阵插入到一个大矩阵中的所需位置吗



我必须将一个小矩阵插入一个大矩阵(零矩阵(,我试图通过一个循环,但每次我都得到值错误:无法将输入数组从形状(6,6(广播到形状(4,4(

有两个问题:-

  1. 如何将其插入到零矩阵中。(指定大零矩阵中的位置(
  2. 如何从40*40零矩阵的第23行开始放置该矩阵
import numpy as np
ndofs = 39
k = np.array(  [  [   1,         0,        1,       0,          0,          0 ],
[   0,         12,       6,       0,        -12,          6 ],
[   0,         6 ,       4,       0,         -6,          2 ],
[   1,          0,       0,       1,          0,          0 ],
[   0,        -12,      -6,       0,         12,          6 ],
[   0,          6,       2,       0,         -6,          4 ] ] )
K = np.zeros((ndofs+1,ndofs+1))
print(K.shape) 
# for each element, changes to global coordinates
for i in range(ndofs):
K_temp = np.zeros((ndofs+1,ndofs+1))
K_temp[3*i:3*i+6, 3*i:3*i+6] = k
K  += K_temp

print(K)

您只需覆盖较大数组中的索引。。。

a = numpy.zeros((50,50))
b = numpy.ones((10,10))
a[2:12,2:12] = b # insert b at 2,2 

最新更新