Есть ли в MATLAB командная или однострочная стратегия, которая будет возвращать все комбинации компонентов n
массивов ячеек, взятых n
за раз?
Пример того, чего я хочу достичь:
A = {'a1','a2'};
B = {'b1','b2','b3'};
C = combinations(A,B)
C = {'a1','b1' ;
'a1','b2' ;
'a1','b3' ;
'a2','b1' ;
'a2','b2' ;
... }
Команда сможет принять произвольное количество аргументов, и результат в примере будет иметь столько столбцов, сколько аргументов для функции. (Конечно, приведенный выше синтаксис предназначен только для иллюстрации и для любого метода, который будет генерировать результаты независимо от формата, который будет соответствовать требованиям)
РЕДАКТИРОВАТЬ: аналогичные вопросы были заданы для матриц вместо ячеек, например, ссылка . Многие решения указывают на представление FEX allcomb , но все такие решения являются просто обертками вокруг ndgrid, которые работают только с двойными числами. Любые предложения для нечисловых наборов?