startup.m应该在哪里?

kjo*_*kjo 37 matlab

我一直在MATLAB文档中追逐这个问题的答案很长一段时间......

例如,在底部

http://www.mathworks.com/help/matlab/matlab_env/changing-the-startup-folder.html

它说

使用startup.m文件指定启动文件夹...

......这显然是荒谬的,因为其他地方的文件说这startup.m可以在所谓的"启动文件夹"中找到.因此,此文件无法指定此文件夹的位置.

等等,这种循环遍及我在文档中找到的所有内容startup.m.

我想知道的是:我可以或者不能以持久的方式自定义"启动文件夹"的位置,如果是这样,这个持久性信息存储在哪里?

Sam*_*rts 16

我发现,最好的方法就是这样.假设您希望MATLAB启动mystartupdir,并且您已放入startup.m该目录.

在Windows上,为MATLAB创建一个快捷方式图标,然后右键单击它并选择Properties.编辑该字段Start In.现在,无论何时想要启动MATLAB,都要使用此图标.

在其他平台上,您可以使用-sd标志运行MATLAB 来指定启动目录:

matlab -sd mystartupdir

如果未指定启动目录,MATLAB将使用该userpath命令指定的缺省值.您可以将startup.m文件放在那里.

  • 实际上,`-sd mystartupdir`在Windows系统上似乎只有**.我无法在Mac或Linux上找到它的等价物. (6认同)

wak*_*jah 13

根据文档中的这个页面,您应该startup.m在"启动目录"中创建自己的"启动目录",如果您按照链接进入此页面,则会在此上下文中解释"启动目录"的定义.

您可以userpath在我的系统上使用返回的函数检索此"启动目录" :

>> userpath

ans =

C:\Users\MYUSERNAME\Documents\MATLAB;
Run Code Online (Sandbox Code Playgroud)

就个人而言,我只是在快捷方式中将"Start In"设置为我想要的任何内容 - 但显然如果你不在Windows上,这将无效; 如果你不在Windows上或者不想依赖快捷方式,你应该在任何目录中创建startup.m一个调用返回.cduserpath

文档还说你可以修改userpath函数,如果你愿意的话,或matlabrc.m文件中的文件matlabroot/toolbox/local(但如果你是MathWorks工程师或系统管理员,你只能做后者,否则MathWorks会从上面狠狠地砸到你, 或者其他的东西...).


小智 7

在Mac OS X上,您可以将startup.m文件放入/matlabrootfolder/toolbox/local/.例如,对于Matlab 2012,此路径可能如下所示:/Applications/MATLAB_R2012a.app/toolbox/local/.

要防止在升级Matlab后删除文件,可以使用符号链接到该文件.如果您的启动文件存储在$HOME/myDir/startup.m,例如(在Bash中):

cd /Applications/MATLAB_R2012a.app/toolbox/local/
ln -s ~/myDir/startup.m .
Run Code Online (Sandbox Code Playgroud)

参考:http://www.mathworks.com/help/matlab/matlab_env/startup-options.html