【发布时间】:2014-05-09 22:35:11
【问题描述】:
我在 Matlab 中有 30 多个保存 setpath,我想先删除它们并测试一些东西,然后再将它们添加回来。实现这一目标的优化方式是什么。有没有一种方法可以获取保存的 setpath 列表,然后通过提供列表在 setpath 中添加路径。我尝试了getnpath,它返回了 matlab 工具箱路径。
【问题讨论】:
我在 Matlab 中有 30 多个保存 setpath,我想先删除它们并测试一些东西,然后再将它们添加回来。实现这一目标的优化方式是什么。有没有一种方法可以获取保存的 setpath 列表,然后通过提供列表在 setpath 中添加路径。我尝试了getnpath,它返回了 matlab 工具箱路径。
【问题讨论】:
在 mat 文件中创建路径备份 -
path_list = path;
save('paths.mat','path_list');
通过转到File menu 上的Set Path 选项来删除 30 条已保存的路径,然后执行您想做的任何测试。
完成测试后,现在您希望重新添加已删除的路径。所以从备份的mat文件中恢复路径-
load('paths.mat')
path(path_list)
【讨论】:
user defined path 或其内置代码的路径,也称为toolbox paths。因此,一旦您执行此操作path_list = path; save('paths.mat','path_list');,并且如果您不修改该mat-file,您的所有工具箱和用户定义的路径都将安全保存在其中。所以,我想说,只要把 mat-file 放在一个安全的地方就可以了。
savepath 之类的命令来处理路径是否适合下一次会话的问题。在question 上阅读更多相关信息
addpath 仅在当前会话中保持良好状态,我猜rmpath 也是如此,这意味着您不需要将路径保存为 mat 文件。但为了安全起见,您可以在保存为 mat 文件后对其进行测试。