我在 matlab 中运行 MCMC 模拟,需要加快循环迭代,在分析后我发现以下循环占用的时间最多:
for i=1 : n
u=0;
for ii=0 : t-1
if bitget(R(i),8-ii)==1
u=bitset(u,ii+1+2*t);
end
if bitget(G(i),8-ii)==1
u=bitset(u,ii+1+t);
end
if bitget(B(i),8-ii)==1
u=bitset(u,ii+1);
end
end
%u = Tcb(i)*Tcr(i);
p(1+u) = p(1+u) + 1; %kernel(X(i)*X(i)+Y(i)*Y(i));
end
它是获取图像颜色分布的算法的一部分。以下是配置文件结果: