小编Yua*_*hao的帖子

下标索引和线性索引之间的性能差异

我在MATLAB中有一个2D矩阵,我使用两种不同的方式来访问它的元素.一个基于下标索引,另一个基于线性索引.我通过以下代码测试这两种方法:

N = 512; it = 400; im = zeros(N);
%// linear indexing
[ind_x,ind_y] = ndgrid(1:2:N,1:2:N);
index = sub2ind(size(im),ind_x,ind_y);

tic
for i=1:it
    im(index) = im(index) + 1;
end
toc %//cost 0.45 seconds on my machine (MATLAB2015b, Thinkpad T410)

%// subscript indexing
x = 1:2:N;
y = 1:2:N;

tic
for i=1:it
    im(x,y) = im(x,y) +1;
end
toc %// cost 0.12 seconds on my machine(MATLAB2015b, Thinkpad T410)

%//someone pointed that double or uint32 might an issue, so we turn both into uint32 …
Run Code Online (Sandbox Code Playgroud)

indexing matlab

17
推荐指数
2
解决办法
943
查看次数

标签 统计

indexing ×1

matlab ×1