scramble.pro は、入力が整数配列であると想定するため、出力として常に整数配列を提供します。ただし、これを使用してインデックスのランダムな順序を生成し、これらを元の配列に戻すことができます (mgalloy が mg_sample で行ったように):
IDL> array = [2.3, 4.5, 5.7,8.9]
IDL> scr_array = array[scramble(n_elements(array))]
IDL> print, scr_array
8.90000 2.30000 5.70000 4.50000
ここでscramble
は、単一の整数値が与えられているため、必要なランダム インデックスが作成されます。通常の IDL の場合のみ、同じ効果を得るためにrandomu
とsort
関数を組み合わせて使用することがよくあります。
IDL> array = [2.3, 4.5, 5.7,8.9]
IDL> indices = sort(randomu(seed, n_elements(array)))
IDL> scr_array = array[indices]
IDL> print, indices
3 2 0 1
IDL> print, scr_array
8.90000 5.70000 2.30000 4.50000
ここではrandomu
、 と同じ要素数の乱数のセットを生成するためにを使用しておりarray
、sort
その乱数配列を並べ替えるインデックスを提供しています。一緒に、それらはインデックスのランダムな順序を提供します。もちろん、それを 1 行にまとめることもできます。
IDL> array = [2.3, 4.5, 5.7,8.9]
IDL> scr_array = array[sort(randomu(seed, n_elements(array)))]
IDL> print, scr_array
5.70000 2.30000 8.90000 4.50000