【问题标题】:Is it possible to insert a small matrix in to a big matrix in to a desired location?是否可以将小矩阵插入到所需位置的大矩阵中?
【发布时间】:2021-12-31 06:55:18
【问题描述】:

我必须将一个小矩阵插入一个大矩阵(零矩阵),我试图通过一个循环,但每次我得到值错误:无法从形状(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)

【问题讨论】:

    标签: python arrays numpy for-loop matrix


    【解决方案1】:

    您只需覆盖更大数组中的索引...

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

    【讨论】:

    • 先生,是否可以通过给数组的每个数字/整数一个地址来将数组的数字放置在所需的位置。像这样i.stack.imgur.com/MHQf9.jpg 上面的矩阵是获得输出,下面的矩阵是需要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2021-09-07
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 1970-01-01
    相关资源
    最近更新 更多