Я пытаюсь выполнить петлю через папки, определенные переменными, и выбрать один файл, определенный подстановочным знаком (в matlab R2012a). Пример файла: /folder1/folder2/601/mprage/xyz.nii. Изучая это, я попытался включить переменные и подстановочный знак через dir и fullfile, но я получаю ошибку horzcat (преобразование в struct from char невозможно). В конечном счете, файл будет обрабатываться функцией «callpmsegmentation». Я новичок в программировании MatLab ... Вот мой сценарий:вызывающий файл, определяемый переменными и подстановочным знаком
clear all
studyDir = '/folder1/folder2';
anatDir = 'mprage';
subjects = {'601', '602', '603'};
for jSubj = 1:length(subjects)
niiname = dir(fullfile(studyDir, subjects{jSubj}, anatDir, '*.nii'));
nii = [studyDir '/' subjects{jSubj} '/' anatDir '/' niiname];
callspmsegmentation(nii);
end
Кроме того, я попытался более прямой: (что тоже не работает)
clear all
studyDir = '/folder1/folder2';
anatDir = 'mprage';
subjects = {'601', '602', '603'};
for jSubj = 1:length(subjects)
nii = [studyDir '/' subjects{jSubj} '/' anatDir '/*.nii'];
callspmsegmentation(nii);
end
Предоставьте * полное сообщение об ошибке и трассировку стека. – excaza