3

次のコードをテストする場合 (2 番目のフラグメントの *NaN に注意してください)

tic
x = zeros(1,5000000);
for i=1:10
        selector = x > 1;
end
toc

tic
x = zeros(1,5000000)*NaN;
for i=1:10
        selector = x > 1;
end
toc

Matlabのリビジョンについて

  1. R2012a 64 ビット
  2. R2013a 32 ビット

次の奇妙な動作を観察します

R2012a 64 ビット

Elapsed time is 0.056266 seconds.
Elapsed time is 0.059677 seconds.

R2013a 32 ビット

Elapsed time is 0.070116 seconds.
Elapsed time is 3.995697 seconds.

そのため、R2013a 32 ビットの場合、NaN 値が存在するとランタイムが大幅に増加します。これがどこから来ているのか、誰かが私にヒントを与えることができますか?

よろしく、 トーマス

4

2 に答える 2