2015-02-22 8 views
1

Я пытаюсь открыть диалоговое окно, предлагающее пользователю выбрать файл, а затем использовать этот файл в функции, написанной для набора инструментов Matlab под названием EEGLAB. Код выглядит следующим образом:Ошибка при использовании нагрузки; Не удалось прочитать файл matlab

[F,PathName,FilterIndex] = uigetfile({'*.*','All Files(*.*)'}, 'Select your File ') 
b = strcat(PathName,F) 
Input = importdata(b) 
FF = Input.filename; 
%Loading the dataset into EEG lab. and rereferencing to Cz. 
EEG = pop_loadset('filename','FF','filepath','/Users/maheensiddiqui/Desktop/eeglab13_4_4b/EEG_data/Data/infant control01 and lance01 ref Fz - TF Analysis - all electrodes/'); 
EEG = eeg_checkset(EEG); 

Проблема я встретив в этой строке:

EEG = pop_loadset('filename','FF','filepath','/Users/maheensiddiqui/Desktop/eeglab13_4_4b/EEG_data/Data/infant control01 and lance01 ref Fz - TF Analysis - all electrodes/'); 

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

Ошибка при помощи нагрузки Невозможно read file '/ Пользователи/maheensiddiqui/Desktop/eeglab13_4_4b/EEG_data/Data/infant control01 и lance01 ref Fz - TF Анализ - все электроды/FF: нет такого файла или каталога. Ошибка в pop_loadset (строка 108) TMPVAR = load ('- mat', filename); Ошибка в нововведениях (строка 7) EEG = pop_loadset ('filename', 'FF', 'filepath', '/ Users/maheensiddiqui/Desktop/eeglab13_4_4b/EEG_data/Data/infant control01 и lance01 ref Fz - TF Analysis - все электроды/');

Теперь, если я не делаю окно диалоговое всплывающее окно в начале (то есть я удалить первые 4 строки кода у меня есть и в следующей строке у меня есть:

EEG = pop_loadset('filename','206301L01.set','filepath','/Users/maheensiddiqui/Desktop/eeglab13_4_4b/EEG_data/Data/infant control01 

и lance01 исх Fz - анализ TF - все электроды/');

Т.е. я явно указываю имя файла, остальная часть кода работает нормально. Я не уверен, почему это происходит ... Мне нужно запустить мой код примерно для 20 разных файлов и его очень неэффективно, если имя нужно вводить каждый раз, чтобы он работал! (Особенно, если я буду делиться своим кодом с другими людьми).

Кто-нибудь знает, почему я могу получить эту ошибку? Может быть, из-за формата файла? .set, а не обычный формат, например .mat или .txt или что-то еще. Но формат .set работает, когда имя файла помещается явно. Я также изменил свой каталог, чтобы исключить пробелы, но это тоже не работает ...

Буду признателен за любую помощь!

+0

Возможно, это из-за пробелов внутри пространств внутри каталога, который вы указываете: 'infant control01 и lance01 ref Fz - TF Analysis - все электроды /'. Может быть, поместить это в каталог с ** без пробелов **? Сделайте что-то более простое, например 'tmp1'. – rayryeng

+0

@rayryeng Я попытался удалить пробелы, и я также попытался создать новый каталог tmp1 и поместить его туда, пока что ничего не работает. –

+1

'FF' - переменная, но вы вводите ее как строку (вы используете' 'FF''). Попробуйте использовать: 'EEG = pop_loadset ('filename', FF, 'filepath', ...)'. Если это не работает, посмотрите в рабочей области значение 'FF', это должна быть строка, содержащая ваше имя файла. – Hoki

ответ

2

Благодаря комментарию Хоки я смог решить проблему. Я вводил имя файла как строку, когда это была переменная.

EEG = pop_loadset ('filename', FF, 'filepath', ...), используя FF без 'FF', использовал его как переменную, которая была исправлена.

Thanks Hoki.