- ベストアンサー
mathematicaのプログラムで困っています
mathematicaで、重複を許さずにランダムに数字を発生させる方法が分かりません。 例えば、1~100までの数字を、小さい順などではなく、ランダムに並べたいのです。Randomを使うと、同じ数字が何回も出てきてしまうのですが、重複はしないようにしたいのです。 初心者で、困っています。 分かる方いらっしゃいましたら、教えてください。 お願いします。
- みんなの回答 (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} まあ、やりかたは他にもいろいろあるとは思いますが。
お礼
解決しました! ありがとうございました!!