我想做以下操作:我有一个“4D”矩阵A和一个“3D”矩阵B。A和B实际上都是2D矩阵,其中对于A,每个元素都是2D矩阵,对于B,每个element 是一维矩阵或向量。我想,对于二维平面图中的每个元素,将 A 上的矩阵和 B 中的矩阵相乘。以图形方式,
目前,我的代码是:
% size(A) = Nx, Ny, n, n
% size(B) = Nx, Ny, n
% size(C) = Nx, Ny, n
for k1 = 1 : Nx
for k2 = 1 : Ny
C(k1,k2,:) = squeeze(A(k1,k2,:,:)) * squeeze(B(k1,k2,:));
end
end
我正在寻找一种“矢量化”代码并完全避免循环的方法。我希望这样的矢量化能够加快我的程序。