Skip to main content
 首页 » 编程设计

python之添加两个不同维度的矩阵

2025年05月04日10落叶无声

设 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 中,这种行为被称为“广播”。