【发布时间】:2015-08-03 11:33:37
【问题描述】:
假设我在路径 'C:\projectFolder\ABC\abc\' 上有一个 mupad 笔记本 myMupadNotebook.mn。它调用位于'C:\DEF\GHI\'的过程MyMupadProcedure.mu。
现在我在'C:\projectFolder\XYZ\xyz\' 有一个 Matlab 脚本 main.m,内容如下:
nb = mupad('C:\projectFolder\ABC\abc\myMupadNotebook.mn');
status = evaluateMuPADNotebook(nb);
所以它初始化一个符号引擎并执行 Mupad 脚本。但是 Mupad 脚本需要知道在哪里可以找到该过程。所以我可以在 Mupad Notebook 中使用 File->Properties->Start-up commands 定义一些启动命令(或启动脚本),如下所示:
READPATH := "C:\DEF\GHI\";
read("MyMupadProcedure.mu");
但现在我在不同的机器上工作,绝对文件夹路径不同,但相对路径是一样的。我如何在所有机器上使用我的脚本?
在 Matlab 中,我只需在每台机器上设置 SearchPath 即可,它可以工作,是否有与 Mupad 等效的东西?
或者,如果我可以将字符串从 Matlab 传递到 Mupad,并且我只需在笔记本的标题中编写启动命令并使用 Matlab 函数确定相对路径,那已经很有帮助了。但是以下行的所有组合都不起作用:
syms X
X = 'hello'
setVar(nb,'X',X)
evalin(nb,['X := "' X '"'])
【问题讨论】: