【发布时间】:2017-07-15 14:44:13
【问题描述】:
我想使用 Matlab gpuArrays 找到一些计算产生的最小值的索引,例如最接近的值。
但是,在 arrayfun 场景中,min 函数似乎没有提供该功能。
使用以下代码:
function grid_gpu_test
gridSize = 8;
grid = gpuArray(rand(gridSize));
all_c=1:gridSize; % because : is not supported
function X = min_diff(row)
X = min(abs(grid(row,all_c)-grid(row,1)))
end
rows = gpuArray.colon(2, gridSize)';
arrayfun(@min_diff, rows)
end
我收到以下错误:
Too few input arguments supplied to: 'min'. Error in 'grid_gpu_test' (line: 9)
有没有办法做到这一点?我知道使用min(gpuArray) 不在arrayfun 中时可以正常工作,但我想通过不会简化为矩阵运算的运算来实现这一点。
【问题讨论】: