【发布时间】:2014-10-14 12:45:08
【问题描述】:
我正在尝试使用arrayfun重写以下代码
A = ones(3,3,3)
for i = 1:3
B(i) = trace(A(:,:,i));
end
我希望尝试过
f = @(x) trace(x)
B = arrayfun(f, A);
但这只是(如您所料)跟踪每个人A(i,j,k) 而不是我想要的A(:,:,i)。然后我尝试将A{i}=ones(3,3) 声明为一个单元格并传递给arrayfun,但这也不起作用。
如何在 Matlab 中对矩阵上的函数进行向量化?
【问题讨论】:
-
想知道这里提供的任何一种解决方案是否适合您?
-
您好 Divikar,这些解决方案确实有效,但都没有给我一个通用的方法来对 GPU 上的矩阵函数进行矢量化,我可以测试......但是。不幸的是,我可以访问的服务器正在运行没有
pagefun的 Matlab 版本,但正在周四升级。
标签: arrays matlab matrix vectorization