Это намного лаже и все в одну строчку:
dirs = regexp(genpath(parentdir),['[^;]*'],'match');
Разъяснения:
genpath()
- это команда, которая выплевывает все подпапки parentdir
в одну строку текста, разделенную точкой с запятой. Функция регулярного выражения regexp()
ищет шаблоны в этой строке и возвращает параметр: «соответствует» шаблону. В этом случае в качестве шаблона используется любой символ, не являющийся точкой с запятой = `[^;], повторяемый один или несколько раз подряд = *. Таким образом, будет выполнен поиск строки и сгруппированы все символы, которые не являются точками с запятой, в отдельные выходные данные - в этом случае все каталоги подпапок.