大家好,想跟各位請教一下一個排列組合的問題的寫法。
以下是最近想處理的一個問題:
有一組4維的陣列,每一個維度有 100 個 element
{{1,2,3,...100},{1,2,3,...100},{1,2,3,...100},{1,2,3,...100}}
現在想要在每一個維度中隨機抽樣並放進一個新的陣列 {w,x,y,z},例如:
{1,1,1,1}, {1,1,1,2},......{1,1,1,100}, or {2,1,1,100}
數字可以相同,現在想用mathematica 把所有的組合全部列出來。
個人有在help那邊找到一個指令可以做類似的事情 Tuples
例如:
In: Tuples[{{a, b}, {1, 2, 3, 4}, {x}}]
out:
{{a, 1, x}, {a, 2, x}, {a, 3, x}, {a, 4, x}, {b, 1, x}, {b, 2, x},
{b, 3, x}, {b, 4, x}}
但是由於我的問題利用這個方法需要的記憶體的量太大了,跑到一半軟體就罷工了 囧
所以想請教一下大家有甚麼方法或者另外的寫法可以解決這件事?