Ошибка использования нагрузки; Невозможно прочитать файл matlab

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

[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/');

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

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

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

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

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

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

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

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


person Maheen Siddiqui    schedule 22.02.2015    source источник
comment
Это может быть из-за пробелов внутри пробелов внутри каталога, который вы указываете: infant control01 and lance01 ref Fz - TF Analysis - all electrodes/. Может быть, поместить это в каталог без без пробелов? Сделайте что-нибудь проще, например tmp1.   -  person rayryeng    schedule 22.02.2015
comment
@rayryeng Я попытался удалить пробелы, а также попытался создать новый каталог tmp1 и поместить его туда, пока ничего не работает.   -  person Maheen Siddiqui    schedule 22.02.2015
comment
FF — это переменная, но вы вводите ее как строку (вы используете 'FF'). Попробуйте использовать: EEG = pop_loadset('filename',FF,'filepath',...). Если это не работает, посмотрите в рабочей области значение FF, это должна быть строка, содержащая имя вашего файла.   -  person Hoki    schedule 22.02.2015
comment
@ Хоки Оооо .. большое спасибо! это сработало.. :)   -  person Maheen Siddiqui    schedule 22.02.2015
comment
@Hoki - Вау, я этого не видел. Я не видел этого среди довольно плохого форматирования, лол. Хорошо поймал.   -  person rayryeng    schedule 23.02.2015
comment
@rayryeng, да, форматирование меня тоже сбило с толку. Сначала я попытался разобраться в выделенном жирным шрифтом сообщении об ошибке (на самом деле слишком жирном)... Я уже собирался сдаться, когда понял неправильную конструкцию строки. Хорошо, что ОП позже уточнил, что сработало в строке кода (это показало, что он пытался это каким-то образом решить, и это подтвердило мои подозрения относительно имени файла).   -  person Hoki    schedule 23.02.2015
comment
@rayryeng Мне очень жаль, если это было трудно понять! Теперь я буду более осторожен и откровенен во всем, что публикую... извините и спасибо!   -  person Maheen Siddiqui    schedule 23.02.2015


Ответы (1)


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

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

Спасибо Хоки.

person Maheen Siddiqui    schedule 22.02.2015