Arrays matlab中的三维矢量化运算

Arrays matlab中的三维矢量化运算,arrays,matlab,vectorization,Arrays,Matlab,Vectorization,你能将U列添加到cwx并将结果存储在3d数组中的操作矢量化吗 非矢量化解决方案: cwx =rand([500,100]); U = rand([500 10]); F = zeros([500 100 10]); for y = 1:10 F(:,:,y) = bsxfun(@plus,U(:,y),cwx); end 只要您首先看到U的第二维度和第三维度,就可以通过对的单个调用完成: F = bsxfun(@plus, permute(U, [1 3 2]), cwx); 在非

你能将U列添加到cwx并将结果存储在3d数组中的操作矢量化吗

非矢量化解决方案:

cwx =rand([500,100]);
U = rand([500 10]);

F = zeros([500 100 10]);
for y = 1:10
    F(:,:,y) = bsxfun(@plus,U(:,y),cwx);
end

只要您首先看到
U
的第二维度和第三维度,就可以通过对的单个调用完成:

F = bsxfun(@plus, permute(U, [1 3 2]), cwx);

在非矢量化解决方案中,未定义变量n_clases。
magic
仅使用一个标量输入,
magic([500100])
magic(500)相同。是的。我改变了这个例子