如何将字段从数据结构保存到 Matlab 中的文件名字段?

How to save fields from a data structure to filename field in Matlab?

在Matlab中我有一个结构数组如下。

我们基本上有很多数据集,每个数据集都有一个名字。对于每个数据集,都有一定数量的数据点,这些数据点是在一定秒数内从大脑中的电 activity、刺激的呈现中记录下来的数据。

对于每个数据集,都有刺激出现前 2 秒的记录和刺激出现后 3 秒的记录。所以我实际上想将我的数据分成 2 个,数据点与 "pre" 相关联,数据点与 "post" 相关联。使用 for 循环非常简单,我已经做到了,现在每个数据集都有 2 个附加字段。

仅供参考

ALLEEG(data_set).data ----- > this field has the original unchopped data
ALLEEG(data_set).data_pre ----- > this field has the "pre" data
ALLEEG(data_set).data_post ---- > this field has the "post" data 
ALLEEG(data_set).filename ---- > this field has the filename  

现在我想获取每个数据集的原始文件名,例如如果其中之一被称为

1234L01.set 

并且有一个标记为 data 的字段包含完整的数据记录(未切入 "pre" 和 "post"),我想保存 "pre" 和"post" 个我创建的字段,因此我有 2 个新数据集

1234L01_pre.set and 1234L01_post.set 

和每个字段中的 data 字段分别是 "pre" 和 "post",并且与数据集关联的任何其他字段都得到维护。

我对如何做有点困惑,因为我不明白如何获取原始文件名并对其进行修改,而且我有很多数据集,所以我不想全部手工完成。

有人可以帮忙吗?

类似于:

[p,f,e] = fileparts ( ALLEEG(data_set).filename );
newFilename = sprintf ( '%s_pre.%s', f, e )
pre = ALLEEG(data_set).pre;
save ( newFilename, 'pre' );

newFilename = sprintf ( '%s_post.%s', f, e )
post = ALLEEG(data_set).post;
save ( newFilename, 'post' );