用矩阵 B 附加矩阵 A

Posted

技术标签:

【中文标题】用矩阵 B 附加矩阵 A【英文标题】:Appending matrix A with matrix B 【发布时间】:2017-04-20 13:09:43 【问题描述】:

假设我有两个矩阵AB。例如,

A = numpy.zeros((5,5))

B = np.eye(5)

有没有办法追加AB

【问题讨论】:

【参考方案1】:

听起来你在寻找np.hstack

>>> import numpy as np
>>> a = np.zeros((5, 5))
>>> b = np.eye(5)
>>> np.hstack((a, b))
array([[ 0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.,  0.],
       [ 0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  0.,  1.]])

如果您想将它们向下堆叠,np.vstack 将起作用:

>>> np.vstack((a, b))
array([[ 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.],
       [ 1.,  0.,  0.,  0.,  0.],
       [ 0.,  1.,  0.,  0.,  0.],
       [ 0.,  0.,  1.,  0.,  0.],
       [ 0.,  0.,  0.,  1.,  0.],
       [ 0.,  0.,  0.,  0.,  1.]])

【讨论】:

np.stack((A,B), axis=n) 用于 0,1,2 创建 3d 数组。 :) 两个 5x5 数组可以通过至少 5 种方式连接。

以上是关于用矩阵 B 附加矩阵 A的主要内容,如果未能解决你的问题,请参考以下文章

怎样用matlab求矩阵的乘积

matlab用for循环求矩阵乘法

稀疏矩阵的加法(用十字链表实现A=A+B)

MATLAB编程 逆矩阵怎么表示

矩阵03——逆矩阵伴随矩阵以及性质

矩阵方程。 AX=B B在啥情况下一定有解