【问题标题】:Error using load; Unable to read file matlab使用负载出错; matlab无法读取文件
【发布时间】:2015-02-22 17:56:35
【问题描述】:

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

and lance01 ref Fz - TF 分析 - 所有电极/');

即我明确说明了文件的名称,其余代码工作正常。我不确定为什么会发生这种情况......我需要为大约 20 个不同的文件运行我的代码,如果每次都需要输入名称才能工作,它的效率非常低! (特别是如果我将与其他人共享我的代码)。

有谁知道我为什么会收到这个错误?可能是因为文件格式? .set 而不是像 .mat 或 .txt 之类的传统格式。但是 .set 格式在明确输入文件名时有效。我还更改了我的目录以排除空格,但这也不起作用......

如果有任何帮助,我将不胜感激!

【问题讨论】:

  • 这可能是因为您指定的目录内的空格内的空格:infant control01 and lance01 ref Fz - TF Analysis - all electrodes/。也许把它放在一个没有空格的目录中?让事情变得更简单,比如tmp1
  • @rayryeng 我尝试删除空格,还尝试创建一个新目录 tmp1 并将其放入其中,到目前为止似乎没有任何效果。
  • FF 是一个变量,但是您将其作为字符串输入(您使用'FF')。尝试使用:EEG = pop_loadset('filename',FF,'filepath',...)。如果不起作用,请在工作区中查看FF 的值,它应该是包含您的文件名的字符串。
  • @Hoki Ohhhh.. 非常感谢!有效.. :)
  • @rayryeng,是的,格式也让我失望。我首先试图理解粗体错误消息(确实太粗体了)......当我选择错误的字符串构造时,我正要放弃。 OP 在后来的代码行中确定了有效的方法,这是一件好事(这表明他试图以某种方式解决它,并证实了我对文件名的怀疑)。

标签: matlab file input getfiles eeglab


【解决方案1】:

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

EEG = pop_loadset('filename',FF,'filepath',...) using FF without 'FF' 使用它作为变量它已解决问题。

谢谢霍基。

【讨论】:

    猜你喜欢
    • 2016-09-18
    • 2015-09-02
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    相关资源
    最近更新 更多