2014-07-14 101 views
0

您可以矢量化U的列添加到cwx並將結果存儲在3d數組中的操作嗎?在matlab中矢量化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 
+2

在您的非矢量化解決方案變量n_clases未定義。 –

+2

'魔法'只使用一個標量輸入,'魔法([500,100]);'和'魔法(500)'相同;'。 – Daniel

+0

是的。我改變了這個例子 – user3241888

回答

1

它可以給bsxfun單一調用來完成,只要你先permuteU第二和第三層面:

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