Тогда для каждой строки с двумя или более непустыми элементами получаем одномерный массив ячеек, затем в двойном цикле перечисляем все сочетаний и добавляем по мере получения в массив ячеек Y. (Можно конечно и не создавать вспомогательный массив, а работать с исходным массивом ячеек.) Такой очевидный способ не подходит?
1. "Для каждой строки с двумя или более непустыми элементами получаем одномерный массив ячеек". Строка массива
X и так есть одномерный массив ячеек, не вполне понимаю зачем создавать множество массивов.
2. "В двойном цикле перечисляем все сочетания" - не вполне понимаю. Есть функция Матлаба nchoosek, с помощью которой можно получить любые сочетания, в том числе по 2 элемента, из указанного массива. Но в том то и дело, что нужны все паросочетания только из множества непустых элементов строки. Если Вы это и имели ввиду - покажите, плиз, код "двойного цикла", который Вы имели ввиду.
3. Что понимается под "вспомогательным" массивом я тоже не понял. Массив
Y не вспомогательный, а требуемый.