gpt4 book ai didi

matlab - matlab 有 matlabrc 文件吗?

转载 作者:太空宇宙 更新时间:2023-11-03 19:24:42 25 4
gpt4 key购买 nike

今天我偶然发现了这个线程:

http://www.mathworks.com/matlabcentral/newsreader/view_thread/112560

问题基本上是如何让 Matlab 读取您的 startup.m 文件,而不管它在哪里你开始你的 matlab session 。

提供的解决方案之一是:

One solution would be to ask the system administrator to add a few lines to "matlabrc.m" that adds some pre-determined folder in the user's home directory to the MATLAB path (say, ~/.matlabstart). Then each user can have their own "startup.m" file inside this folder.

我最终在我的系统 (OS X) 中做的是在以下位置添加一个 startup.m 文件:

/Applications/MATLAB_R2011a.app/toolbox/local/

我在这个 startup.m 文件中添加了:

if exist([getenv('HOME') '/.matlabrc/startup.m'])
run([getenv('HOME') '/.matlabrc/startup.m']);
end

这样用户就可以选择创建隐藏文件夹 ~/.matlabrc 并在其中放置文件 startup.m。在这个启动文件中,他们可以告诉 matlab 在启动 Matlab 时执行什么,而不管他们启动它的目录是什么。我添加到我自己的个人 startup.m 文件的一个例子是

addpath(genpath('/Users/jmlopez/matlabcode/'))

现在我可以在那个目录中添加尽可能多的文件夹,所有的文件夹都会被添加每次启动Matlab时自动添加到路径,无需修改路径。

问题是:Matlab 是否已经提供了一个像我创建的那样的特殊文件,或者我只是经历了所有这些麻烦来完成我想要的?如果答案是我给的第二个选项,那么,为什么Matlab不提供这个呢?每当您没有管理员权限并且我不想将我的 startup.m 文件带到我去的每个目录时,将目录添加到 Matlab 路径真是一件麻烦事。有人可以对此有所了解吗?

最佳答案

您可以将 pathdef 文件(它存储您添加的所有路径)保存到自定义目录。然而,问题是当 matlab 启动时,它不会自动知道您在上一个 session 中使用了哪个自定义目录。

但这就是 MATLABPATH 环境变量的用武之地。因为这允许您自己设置 matlab 起始路径。在 linux 中,这只需在启动 matlab 之前设置此环境变量 MATLABPATH 即可完成(从终端/在您的 .bashrc/...)

export MATLABPATH=$HOME/.matlab

这样就可以让所有的用户都有自己的pathdef文件,解决了启动时需要手动添加的问题。

编辑

我测试了将 startup.m 添加到该 MATLABPATH 目录是否有效,即:matlab 是否运行该启动文件? ...确实如此。我认为它对您不起作用,因为在其他(优先级更高的)目录(可能是 matlabroot)中还有另一个 startup.m 文件,因此它具有优先权。我唯一的启动文件在 MATLABPATH 中,所以只有一个选择。

编辑2

不,我将启动添加到 matlabroot 目录,但 .matlab 中我自己的启动文件仍在运行。您确定在启动 matlab 之前正确设置了 MATLABPATH 吗?

关于matlab - matlab 有 matlabrc 文件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11060426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com