三维矩阵按页相乘:
问题:两个三维矩阵,按页进行矩阵相乘。
A = rand(a1,a2,n);
B = rand(a2,b2,n);
C = zeros(a1,b2,n);
for i=1:n
C(:,:,i) = A(:,:,i) *B(:,:,i) ;
end
matlab工具包:mtimes
下载地址:
(1)mathworks网站:https://www.mathworks.com/matlabcentral/fileexchange/25977-mtimesx-fast-matrix-multiply-with-multi-dimensional-support
(2)github网站:https://github.com/cybertk/mtimesx
下载压缩包,解压后,找到src中的mtimesx_build.m文件,将第166行的代码修改为:
mexopts = [prefdir 'mex_C_win64.xml'];
或者
mexopts = [prefdir 'mex_C++_win64.xml'];
修改后,运行mtimesx_build.m,运行成功后显示如下: