• ベストアンサー

mathematicaのプログラムで困っています

mathematicaで、重複を許さずにランダムに数字を発生させる方法が分かりません。 例えば、1~100までの数字を、小さい順などではなく、ランダムに並べたいのです。Randomを使うと、同じ数字が何回も出てきてしまうのですが、重複はしないようにしたいのです。 初心者で、困っています。 分かる方いらっしゃいましたら、教えてください。 お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • rabbit_cat
  • ベストアンサー率40% (829/2062)
回答No.1

mathematicaのヘルプに、ずばりの例がありました。 The defined function RandomRelist gives a list with the same members as the input list, but in a random reordering. In[14] := RandomRelist[x_List] := Block[{n = x, p},  Do[p = Random[Integer, {1, i}]; n[[{p, i}]] = n[[{i, p}]], {i, Length[x]}]; n] In[15] := RandomRelist[Range[15]] Out[15] = {9, 15, 8, 11, 2, 10, 6, 13, 12, 14, 4, 3, 7, 5, 1} まあ、やりかたは他にもいろいろあるとは思いますが。

tadachan8
質問者

お礼

解決しました! ありがとうございました!!