如何在 Matlab 中向量化双依赖循环?
How to vectorize double dependence loop in Matlab?
我有一个循环函数,其内部循环取决于您的外部循环的值。
for jj = 1:500
for ii = jj:500
Gamma(ii,jj) =mod( ii-jj, 255);
end
end
我正在寻找使代码最快的方法:矢量化或 bsxfun。现在,我正在使用矢量化方式,但它可能不是最优的。我问这个问题是为了找到更好的解决方案,或者至少比我的方法更好。
[iiValues, jjValues] = meshgrid(1:500, 1:500);
mask = iiValues >= jjValues; % ii >= jj
ii= iiValues(mask);
jj= jjValues(mask);
Gamma(ii,jj)=mod(ii-jj,255) % I am not sure about the line
谢谢
我有一个循环函数,其内部循环取决于您的外部循环的值。
for jj = 1:500
for ii = jj:500
Gamma(ii,jj) =mod( ii-jj, 255);
end
end
我正在寻找使代码最快的方法:矢量化或 bsxfun。现在,我正在使用矢量化方式,但它可能不是最优的。我问这个问题是为了找到更好的解决方案,或者至少比我的方法更好。
[iiValues, jjValues] = meshgrid(1:500, 1:500);
mask = iiValues >= jjValues; % ii >= jj
ii= iiValues(mask);
jj= jjValues(mask);
Gamma(ii,jj)=mod(ii-jj,255) % I am not sure about the line
谢谢