enter image description here

В настоящее время пытаюсь импортировать следующее с помощью следующего скрипта:

files = dir('C:\Users\student\Desktop\pattern hw4\train\*.mat');

for i=1:length(files)
    A = load(files(i)); % <-- line 7
end

Я получаю сообщение об ошибке:

Error using load
Argument must contain a string.

Error in hw4 (line 7)
    A = load(files(i));

После добавления .name я получаю сообщение об ошибке:

>> hw4
Error using load
Unable to read file 'class1_1.mat': no such file or directory.

Error in hw4 (line 7)
    A = load(files(i).name);

Хорошо, фиксированный и окончательный ответ / решение:

files = dir('C:\Users\student\Desktop\pattern hw4\train\*.mat');

dname='C:\Users\student\Desktop\pattern hw4\train\';

for i=1:length(files)
    fname=fullfile(dname,files(i).name);
    A = load(fname);
end
0
basickarl 2 Дек 2014 в 19:57

2 ответа

Лучший ответ

Команда загрузки ожидает имя файла, тогда как dir возвращает структуру. Пытаться:

A = load(files(i).name);
2
Jim Quirk 2 Дек 2014 в 20:09
Теперь это проблема пути. Попробуйте:` curpath= ''C:\Users\student\Desktop\pattern hw4\train\'; load(sprintf('%s%s',curpath,files(i).name);`
 – 
Jim Quirk
2 Дек 2014 в 20:21
Поскольку вы помогли исходному вопросу, я отмечу это как ответ. Однако полное решение опубликовано в вопросе.
 – 
basickarl
2 Дек 2014 в 20:22

Я думаю, вам нужно использовать A = load(files(i).name); в строке 7.

files - массив структур

1
bjornruffians 2 Дек 2014 в 20:05