【发布时间】:2021-12-31 06:55:18
【问题描述】:
我必须将一个小矩阵插入一个大矩阵(零矩阵),我试图通过一个循环,但每次我得到值错误:无法从形状(6,6)广播输入数组成形 (4,4)
有两个问题:-
- 如何将其插入零矩阵。 (在大零矩阵中指定位置)。
- 如何从 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)
【问题讨论】:
标签: python arrays numpy for-loop matrix