我正在处理数据集并遇到问题 - 尽管我将所有相关输出变量xls写入带有时间戳的大型Excel文件,但我不会保存实际生成该结果的代码。 因此,如果我尝试重新创建一组特定的结果,如果不依靠内存,我就无法做到这一点(这显然不是一个好的计划)。我想知道是否有一个命令可以帮助我将用于生成输出 Excel 文件的 m 文件以及 Excel 文件本身保存在我可以命名和时间戳的文件夹中,这样我就不必手动执行此操作。
在我的理想世界中,我会运行调用 4 或 5 个其他函数 m 文件的主代码文件,然后所有这些 m 文件将与 Excel 输出一起保存到文件夹名称results_YYYYMMDDTIME。 此功能是否存在?我似乎找不到它。
没有内置这样的功能。
您可以通过将 depfun
与 mfilename
一起使用来构建主函数的依赖树。 depfun(mfilename())
将返回当前正在执行的 m 文件调用的所有函数/m 文件的列表。这将包括 MATLAB 内置的所有文件,您可能希望删除这些文件(并且仅在 excel 工作表中记录 MATLAB 版本)。
作为伪代码:
% get all files:
dependencies = depfun(mfilename());
for all dependencies:
if not a matlab-builtin:
copyfile(dependency, your_folder)
作为一个"长期"解决方案,你可能想要检查使用版本控制系统,如Subversion,Mercurial(或许多其他系统之一)是否适用于您的情况。在较大的项目中,这是记录用于产生特定结果的源代码版本的首选方法。