2015-10-20 44 views
3

假设两个不同的Matlab用户共享一台计算机,他们都希望能够保存并加载他们自己的Matlab路径。 (或者,单个用户希望在不同的时间使用不同的路径。)处理这个问题的最简单方法是什么?Matlab中的多个pathdef文件?

是否应该有多个pathdef文件?或者,他们每个人都应该有一个脚本调用restoredefaultpath,然后使用addpath添加新路径?

回答

4

您可以使用startup.m文件。

启动时,Matlab执行文件matlabrc.m,这是主启动文件,并且对所有用户都是通用的。除其他事项外,该文件

  1. 设置路径的第一项作为当前用户的用户文件夹,也就是开始Matlab的用户。 (这通过调用pathdef来完成,后者又调用userpath);然后
  2. 在路径中查找startup.m文件,如果存在,则执行结束。

因此,你可以将用户特定的startup.m文件中的每个用户的文件夹,和Matlab运行取决于相应的文件哪个用户开始Matlab的。在该文件中,您可以根据每个用户设置路径,并执行其他与用户相关的操作。

+0

谢谢。 Matlab如何知道哪个用户启动了Matlab? Windows是否告诉Matlab当前Windows用户是谁? – littleO

+0

'matlabrc'调用'userpath',它完成那项工作。在我的系统中,'userpath'有一行'p = system_dependent('getuserworkfolder')'来完成实际的工作。我不知道它是如何工作的。但是,是的,它必须要求操作系统 –