Python 将一个矩阵添加到另一个较大矩阵的特定区域
我正在尝试使用Python创建一个简单的2D框架结构分析程序。在编程过程中,需要根据12x12零系统矩阵中表示的节点编号,在其特定行和列上添加一个6x6成员矩阵。例如:Python 将一个矩阵添加到另一个较大矩阵的特定区域,python,numpy,matrix,Python,Numpy,Matrix,我正在尝试使用Python创建一个简单的2D框架结构分析程序。在编程过程中,需要根据12x12零系统矩阵中表示的节点编号,在其特定行和列上添加一个6x6成员矩阵。例如: system_matrix = [[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.] [0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
system_matrix = [[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.]]
member_matrix = [[0.43 0.72 0.47 0.96 0.23 0.42]
[0.51 0.55 0.94 0.11 0.37 0.83]
[0.39 0.92 0.92 0.21 0.31 0.46]
[0.83 1.12 0.67 0.69 0.56 0.84]
[0.21 0.53 0.44 0.83 0.58 0.46]
[0.64 0.66 0.19 0.21 0.16 0.43]]
首先,我想添加(或放置)成员矩阵的子矩阵,该子矩阵包含系统矩阵特定区域的前3行和3列。numpy中是否有维护此过程的方法,或者我应该自己编写它
提前感谢。您可以使用numpy切片来实现您的目标
import numpy as np
ma = np.matrix(system_matrix, float)
mb = np.matrix(member_matrix)
#ma[0:3, 0:3] = mb[0:3, 0:3]
ma[0:3, 0:3] += mb[0:3, 0:3]
print(ma)
您可以使用numpy的切片来实现您的目标
import numpy as np
ma = np.matrix(system_matrix, float)
mb = np.matrix(member_matrix)
#ma[0:3, 0:3] = mb[0:3, 0:3]
ma[0:3, 0:3] += mb[0:3, 0:3]
print(ma)