设 A 是一个包含 [m x n] 元素的矩阵,B 是另一个包含 [m x n x o] 元素的矩阵. 是否有任何线性代数方法将两个矩阵相加,使得 C = A + B 其中 C 将在 [m x n x o] 中而无需任何形式沿着 o 维度循环?
例子:
让
一个=
1 2 5 6
1 2 3 4
1 5 8 9
和
B(:,:,1) =
1 1 1 1
1 1 1 1
1 1 1 1
B(:,:,2) =
1 1 1 1
1 1 1 1
1 1 1 1
B(:,:,3) =
1 1 1 1
1 1 1 1
1 1 1 1
C = A + B
C(:,:,1) =
2 3 6 7
2 3 4 5
2 6 9 10
C(:,:,2) =
2 3 6 7
2 3 4 5
2 6 9 10
C(:,:,3) =
2 3 6 7
2 3 4 5
2 6 9 10
请您参考如下方法:
在 MATLAB 中,这可以使用隐式扩展(R2016b 以后)或 bsxfun(@plus,...) 来完成。
以下内容适用于所有最新的 MATLAB 版本:
C = bsxfun(@plus,A,B);
在 NumPy 中,这种行为被称为“广播”。
