在MATLAB数组中查找所有整数元素索引的优雅方法?

时间:2014-11-15 14:11:38

标签: matlab

我有一个包含整数和双精度混合的双精度数组。我希望获得整数元素的所有索引。我的方式(见下文)非常难看。

idx_list = [];
for idx = 1:numel(A)
    if isinteger(A(idx))
        idx_list = [idx_list idx];
    end
end

我相信有一种单线/更优雅的方式。

1 个答案:

答案 0 :(得分:3)

这样的东西会找到完美的整数 -

idx_list = find( floor(A) == A )

floor 更改为 ceil round {{3} 也应该这样做。

如果您想处理浮点精度问题,可以在此处介绍 fix -

idx_list = find(abs(round(A) - A)<eps(round(A)))