大家好,想跟各位请教一下一个排列组合的问题的写法。
以下是最近想处理的一个问题:
有一组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}}
但是由于我的问题利用这个方法需要的内存的量太大了,跑到一半软件就罢工了 囧
所以想请教一下大家有什么方法或者另外的写法可以解决这件事?