保存 Matlab 对象实例导致无限循环

Saving Matlab object instance results in an infinite loop

设置:

我有 created 一个名为“Participant”的 Matlab handle class 用于读取和操作某些研究数据。我已经创建了多个实例对象并将它们保存到硬盘没有问题。我还检查了我有问题的实例以确保它在 Matlab 中正常运行。实例似乎没有任何错误。

问题

但是,在某些情况下,Matlab 陷入写入磁盘的无限循环,对我来说没有明确的原因。这一点在查看 .mat 字段输出的修改日期时很明显,它每分钟不断变化,事实上我的 Matlab 实例速度非常慢。

创建参与者的代码是

myparticipant = participant([basedir ,p_folder{p_num}]);

尝试过的方法

我已经通过右键单击导致上述问题的工作区保存到磁盘。

使用保存功能,我得到:

 save('test.mat', 'myparticipant')

Error using save
Error closing file test.mat.
The file may be corrupt. 

当然之后不会加载。

任何见解将不胜感激,因为我不确定如何开始处理此问题。

多亏了 excaza 的评论,我才能够发现这个问题。正如我在评论回复中所解释的那样,问题是 因为我使用的是句柄 class,工作内存中显示的数据大小非常小。但是,我的数据大小实际上大于 2gb。在这些情况下,您必须使用 Matlab 的“-V7.3”关键字来保存到文件!添加该标志对我有用。