В настоящее время пытаюсь импортировать следующее с помощью следующего скрипта:
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
Похожие вопросы
Новые вопросы
matlab
MATLAB - это высокоуровневая языковая и интерактивная среда программирования для численных расчетов и визуализации, разработанная MathWorks. Не используйте оба тега [matlab] и [octave], если явно не задан вопрос о сходстве или различии между ними. При использовании этого тега, пожалуйста, укажите версию MATLAB, с которой вы работаете (например, R2017a).