1

我正在尝试打开一个对话框,提示用户选择一个文件,然后在为名为 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/');

这是我收到的错误消息:

使用负载时出错无法读取文件“/Users/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 分析 - 所有电极/ ');

现在,如果我在开始时不执行弹出对话框窗口(这意味着我删除了我拥有的前 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 格式在明确输入文件名时有效。我还更改了我的目录以排除空格,但这也不起作用......

我将不胜感激任何帮助!

4

1 回答 1

2

感谢 Hoki 的评论,我能够解决这个问题。当它是一个变量时,我将文件名作为字符串输入。

EEG = pop_loadset('filename',FF,'filepath',...) using FF without 'FF' 使用它作为变量它是一个固定的问题。

谢谢霍基。

于 2015-02-22T18:47:03.147 回答