2013-05-13 916 views
28

我一直在追逐的答案MATLAB文档很长一段时间在这个问题...startup.m应该在哪里?

例如,在

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

底部,它说

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

...这显然是荒谬的,因为其他地方的文档说startup.m是在所谓的“启动文件夹”中找到的。因此,这个文件无法指定这个文件夹应该放在哪里。

等等等等这种圆形度遍布我发现在startup.m的文档中的一切。

我想知道的是:我可以或不可以以永久性的方式自定义“启动文件夹”的位置,如果存在,该永久性信息存储在何处?

+2

我完全同意这个循环,我想它来自操作系统的多样性!您可以通过回答每个文档页面右下角的“此主题是否有用?”*“否”来提交有关文档更新的反馈/请求(有效)。 还要注意**在MATLAB启动文件中指定启动选项**对*说:“将startup.m文件放在默认或当前启动文件夹中,这是MATLAB首次查找它的地方......”*。从某种意义上讲,'userpath'返回一个默认的启动文件夹,从那里你可以重定向到其他地方(或者如果是Win OS则使用快捷方式)。 – Oleg 2013-05-13 22:33:08

+0

添加到@OlegKomarov:你可以通过调用'which startup.m'(在路径上的每个函数/文件上工作btw)来测试startup.m文件的位置。如果您尝试更改内容,则可以快速检查您的更改是否符合预期。 – 2013-05-14 07:15:00

回答

13

我发现最好的方法就是这样。假设您希望MATLAB以mystartupdir启动,并且您已将startup.m置于该目录中。

在Windows上,为MATLAB创建一个快捷方式图标,然后右键单击它并选择Properties。编辑字段Start In。现在,只要你想启动MATLAB,就使用这个图标。

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

matlab -sd mystartupdir

如果不指定启动目录,MATLAB将使用由userpath指定的默认命令。您可以将您的startup.m文件放在那里。

+6

实际上,'-sd mystartupdir'似乎只能在Windows系统上使用。我无法在Mac或Linux上找到它的等价物。 – kjo 2014-02-19 20:58:22

10

根据该文档this page,你应该建立在“启动目录”,如果你遵循的联系,导致this page在这方面解释“启动目录”的定义自己startup.m

您可以检索这个“启动目录”与userpath函数返回,我的系统上:

>> userpath 

ans = 

C:\Users\MYUSERNAME\Documents\MATLAB; 

就个人而言,我只是在快捷方式到任何我想要设置的“开始” - 但显然如果你不在Windows上,这将不起作用;如果您不在Windows上或者不想依赖快捷方式,则应在返回的任何目录中拨打电话cd来创建startup.m

该文档也说,你可以修改userpath功能,如果你愿意的话,还是matlabrc.m文件中matlabroot/toolbox/local(但你只能选择后者,如果你是一个工程师MathWorks公司或系统管理员,否则MathWorks公司会下雨火热的地狱从上面落下来,或者什么......)。

+1

因此,要在'正确的'位置创建一个startup.m,请键入:'cd userpath',后跟'edit startup.m'并确认要创建它。 – 2013-05-14 08:45:07

+0

*“文档也说你可以修改'userpath'函数”*:对于这个迟来的请求很抱歉,但是在重新访问这个答案时,我找不到文档中的哪个地方说它可以修改'userpath'函数。你能澄清吗? – kjo 2015-09-08 18:35:24

+1

@kjo,修改用户路径的位置,将你想要的路径作为参数提供给函数。例如'userpath('/ home/MYUSERNAME/foo/matlab')' – spinup 2016-08-14 07:03:09

6

在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 . 

参考:如http://fr.mathworks.com/help/matlab/matlab_env/matlab-startup-folder.html#buj_13n阅读http://www.mathworks.com/help/matlab/matlab_env/startup-options.html

1

更改启动文件夹

启动在R2014b中,您可以使用 常规首选项面板更改启动文件夹。在主页选项卡的环境 部分中,单击首选项。选择MATLAB>常规。为初始工作文件夹选择一个选项 。

默认情况下,初始工作文件夹根据 MATLAB启动规则设置为位置。

但我希望它不涉及图形桌面界面。由文件matlab.setting,这在Linux下应位于~/.matlab/<your_release>/在密切关注,你可以找到行

<key name="UserPath"> 
    <string> 
     <value><![CDATA[<some_directory>]]></value> 
    </string> 
</key> 

,你当然可以手动指定启动目录。

0

对我来说(我正在使用Linux),它把“startup.m”放到主目录。显然,主目录是默认在matlab路径上的。奇怪的是,当我将“startup.m”放入主目录中新创建的“matlab”(必须全是小写)文件夹时,它也起作用。让我知道它是否也适用于您的系统。

0

这意味着作为Lx用户的指针(因为我最初感到困惑......)。我基于Debian机器工作,但同样应适用于CentOS系统阵容等

  • 检查安装后,你有目录/ IES:~/.matlab/<yr_release(s)>
    注意,你可能有几个版本有就像我的情况一样。 matlab实际上允许。
  • 创建~/.matlab/startup.m
    顺便说一下,我还在那里创建了我的目录Workspace。这是完全可选
  • 在您的Matlab窗口的主页选项卡中找到菜单iten /图标Set Path,点击它,并添加一个“matlab搜索路径”与按钮添加文件夹左上角。将~/.matlab添加为新的搜索路径。更改应立即生效。
  • 重新启动Matlab以检查在启动时是否正确考虑了~/.matlab/startup.m的内容。

我讨厌图形用户界面...我想你可能想知道;-) HTH。