Я выполняю эксперимент с большим количеством условий и конкретным количеством групп в каждом условии.MATLAB: Создание матрицы со всеми возможными групповыми комбинациями
A. 3 группы
B. 3 группы
C. 2 группы
D. 3 группы
E. 3 группы
я работал, что есть 3 × 3 × 2 × 3 × 3 = 162 возможных комбинаций групп.
Я хочу создать матрицу MATLAB с 162 строками и 5 столбцами. То есть одна строка для каждой комбинации и один столбец для указания значения для каждой группы.
Так, например, первая строка будет [1 1 1 1 1], указывая, что эта комбинация является группой 1 для всех условий. Вторая строка будет [1 1 1 1 2], указывая, что это группа 1 для всех условий, за исключением последней, которая является группой 2. 162-я и последняя строка будут [3 3 2 3 3].
M = 1 1 1 1 1
1 1 1 1 2
.........
3 3 2 3 3
Каков наиболее эффективный способ достичь этого? Я понимаю, что могу использовать петлю, но я уверен, что есть лучший способ. Я думал, может быть, функция perms
будет работать, но я не вижу, как это сделать.
Привет. Я думаю, что цикл - хорошая идея, чтобы начать. Мне также было бы интересно, если бы был быстрый метод. Вы уже пробовали использовать петлевый подход? –
Я сделал, и так как это только появляется в моем коде, как только замедление на самом деле не ощутимо. Я спрашиваю больше с точки зрения того, чтобы пытаться кодировать лучше, чем иметь сильную потребность в улучшении скорости. – user1205197
Я добавил ответ. ;) –