Md.*_*san 1 python matlab numpy linear-algebra multidimensional-array
让A是一个矩阵[m x n]的元素,并B与其他矩阵[m x n x o]的元素.有没有添加两个矩阵,使得任何线性代数的方法C = A + B,其中C将在[m x n x o]没有任何性质沿着循环的o尺寸?
例:
让
A =
1 2 5 6
1 2 3 4
1 5 8 9
Run Code Online (Sandbox Code Playgroud)
和
B(:,:,1)=
1 1 1 1
1 1 1 1
1 1 1 1
Run Code Online (Sandbox Code Playgroud)
B(:,:,2)=
1 1 1 1
1 1 1 1
1 1 1 1
Run Code Online (Sandbox Code Playgroud)
B(:,:,3)=
1 1 1 1
1 1 1 1
1 1 1 1
Run Code Online (Sandbox Code Playgroud)
C = A + B.
C(:,:,1)=
2 3 6 7
2 3 4 5
2 6 9 10
Run Code Online (Sandbox Code Playgroud)
C(:,:,2)=
2 3 6 7
2 3 4 5
2 6 9 10
Run Code Online (Sandbox Code Playgroud)
C(:,:,3)=
2 3 6 7
2 3 4 5
2 6 9 10
Run Code Online (Sandbox Code Playgroud)
在MATLAB中,这可以使用隐式扩展(R2016b向前)或bsxfun(@plus,...).
以下内容适用于所有最新的MATLAB版本:
C = bsxfun(@plus,A,B);
Run Code Online (Sandbox Code Playgroud)
在NumPy中,这种行为被称为"广播".