在numpy中组合2d矩阵

时间:2016-07-18 00:03:11

标签: python-3.x numpy matrix

我是python的新手。我试图将几个矩阵组合成一个新的矩阵。例如: -

A = np.matrix([1, 2, 3], [5, 6, 7], [9, 10, 11])
B = np.matrix([4], [8], [12])
C = np.matrix([13, 14])
D = np.matrix([15, 16])

目前我正在使用: -

E = np.vstack((np.hstack(([A, B])), np.hstack((C, D))))

在matlab中有一个更简洁的方法,我只是简单地使用: - E =(A,B; C,D);

非常感谢

1 个答案:

答案 0 :(得分:1)

我相信你的矩阵缺少外括号。如果你定义

A = np.matrix([[1, 2, 3], [5, 6, 7], [9, 10, 11]])
B = np.matrix([[4], [8], [12]])
C = np.matrix([[13, 14]])
D = np.matrix([[15, 16]])

然后

E = np.bmat('A,B;C,D')

产量

matrix([[ 1,  2,  3,  4],
        [ 5,  6,  7,  8],
        [ 9, 10, 11, 12],
        [13, 14, 15, 16]])

np.bmat([[A,B],[C,D]])也有效。有关numpy.bmat的更多信息,请参阅the docs