从R2019a开始,“resources”为保留目录名,不能添加到路径中。
我刚才检查的eeglab版本没有在资源目录中放入任何.m或.p或.mdl或.slx。但是,它确实在那里放了一些.mat文件。
在我看来,主要的效果是把默认的3-D头部网格文件和网格相关的通道文件弄得一团糟。这一节的代码有点奇怪,所以我根本不确定我是否理解了它,但我
认为
它依赖于能够使用.mat的load()而无需指定路径。如果是这样,那么将这些.mat文件复制到eeglab下的任何其他目录下就可以了。
我的第一个想法是将“resources”重命名为一个稍微不同的名称,并对源代码做一些小的调整。但是,我的检查提示目录名
资源
被写入名为
ica_linux
它在那个目录中。当可执行文件可用时(并且您正在使用Linux?),那么它将用于ICA阶段,而不是在MATLAB中运行ICA。如果可能的话,这可能比MATLAB中的ICA更快,使用的内存更少,所以干扰它可能不是一个好主意。代码的其他部分(如icadefs和binica)建议您应该能够将这样的可执行文件放置在任何地方,但是如果可执行文件内置了目录名,那么它可能无法移植到不同的目录名。
解决方法:
复制resources目录到resources(大写R)并修改eeglab。m稍微在myaddpath()调用中引用'Resources'。这应该关闭MATLAB而不影响任何功能。(更好的做法是,将资源中的文件链接到资源中,这样可以节省空间。)