在for循环Matlab中将eeglab保存到mat文件

Save eeglab to mat file in for loop Matlab

我想循环保存.mat文件中的集合文件,保留原始文件名,只是将扩展名更改为.mat。

我尝试了在网上找到的不同编码方式,但我从来没有得到它来更改每个主题的文件名。下面的这段代码可以毫无问题地用于导出 .txt 文件中的设置文件。难道没有办法导出 .mat 吗?

for i = 1:length(files)
    filename = files(i).name;
    
    EEG = pop_loadset('filename', filename, 'filepath', directory_name);
    
    EEG = eeg_checkset( EEG );
    EEG = pop_export(EEG,fullfile(directory_name, [filename(1:end-4),'.mat']));
  
end 

当我 运行 这段代码并且我想在 Matlab 中加载这个文件时,它给我错误:

load('AB24 task_ipol_500Hz_7min_MARA.mat')

Error using load
Unable to read MAT-file
C:\MTB862015\eeglab2019_1\All task\_2_min7_task\_6_min7_MARA\AB24 task_ipol_500Hz_7min_MARA.mat.
Not a binary MAT-file. Try load -ASCII to read as text.

非常感谢!!

这段代码对我有用,也许它可以帮助其他人:)


for i = 1:length(files)
    filename = files(i).name;
    
    EEG = pop_loadset('filename', filename, 'filepath', directory_name);
    
    EEG = eeg_checkset( EEG );
    s = filename(1:end-29); % Get the subjects code
    
    save([ num2str(s) 'task_ipol_500Hz_7min_MARA.mat'],'EEG')
end