【发布时间】:2016-04-03 21:53:46
【问题描述】:
我正在运行一个有很多条件的实验,每个条件下都有特定数量的组。
A. 3组
B. 3组
C. 2组
D. 3组
E. 3组
我计算出有 3×3×2×3×3 = 162 种可能的组组合。
我想创建一个 162 行 5 列的 MATLAB 矩阵。即每个组合用一行,每组用一列表示值。
因此,例如,第一行将是 [1 1 1 1 1],表示此组合是所有条件的第 1 组。第二行是 [1 1 1 1 2],表示除了最后一个是组 2 之外,它是所有条件的组 1。第 162 行也是最后一行是 [3 3 2 3 3]。
M = 1 1 1 1 1
1 1 1 1 2
.........
3 3 2 3 3
实现这一目标的最有效方法是什么?我意识到我可以使用循环,但确信有更好的方法。我想也许perms 函数会起作用,但我不知道如何。
【问题讨论】:
-
嘿。我认为循环是开始它的好主意。如果有一种快速的方法,我也会感兴趣。到目前为止,您是否尝试过循环方法?
-
我做到了,因为这只会出现在我的代码中,一旦减速实际上是不可察觉的。我从尝试更好地编写代码的角度提出了更多要求,而不是强烈需要提高速度。
-
我添加了一个答案。 ;)
标签: matlab