Вы пытаетесь собрать решение, не задумываясь о том, что вы делаете.
Вам нужно посмотреть и понять, что возвращает dir.
Names = dir('MyFile\*.TXT');
Возвращает структуру. Посмотрите, что ОДИН из полей этой структуры является полем имени. Итак, попробуйте это:
Names(1).name
ans =
abc-1.TXT
Обратите внимание, что это будет полное имя файла без необходимости его создания. Теперь вы можете поместить цикл вокруг этой структуры,
for i = 1:numel(Names)
data = load(Names(i).name);
% do stuff here...
end
Если вы хотите, чтобы список имен только здесь был в виде массива ячеек, сделайте следующее:
Names = {Names.name};
Теперь посмотрите на то, что находится в этой переменной. Теперь это массив ячеек. Не пытайтесь использовать это вслепую, не задумываясь. Это будет список полных имен каждого текстового файла в этом каталоге. Вам больше не нужно придумывать имя. Просто используйте load для каждого имени файла.