我有一个mxnx4维数组和一个带有4元素矢量输入的函数。我想应用我的函数给我一个mxnx4输出,这样该函数被应用了mxn次(即我数组的第3维出现在我函数的输入中)。任何关于如何做到这一点的想法将得到极大的赞赏。我看过arrayfun,但这似乎无法解决我想做的事情。我还想保持函数的格式,因为在我的代码的其他地方也需要这种格式。
即:
F=@(V)[V(1)+V(2);V(2)+V(3); V(3)+V(4); V(4)+V(1)]
应用于尺寸为2x3x4(m = 2; n = 3)的阵列M
M = zeros(2,3,4);
M(:,:,1) = [1 2 3;4 5 6];
M(:,:,2) = [7 8 9;10 11 12];
M(:,:,3) = [13 14 15; 16 17 18];
M(:,:,4) = [19 20 21; 22 23 24];
生成尺寸为2x3x4的数组
C(1,1,:) = F([1 7 13 19])
C(1,2,:) = F([2 8 14 20])
等
我可以看到for循环会起作用,将以下内容应用于mxn矩阵
C(m,n,:)=F(M(m,n,:))
但是,我需要运行数百万次,所以希望有一种更快的方法