人们可能会认为将 MuPad 集成到 Matlab 中要好得多。
除了符号表达式之外,从 Matlab 到 MuPad 的变量和字符串的直接传输(setVar
),看来不可能。如我错了请纠正我。但是,可以使用相对路径在 Matlab 中写入文件,并使用相对路径在 MuPad 中读取文件。
这样就可以将存储 MuPad 程序的路径写入文本文件 - 位于执行 MuPad Notebook 的同一文件夹中:
%// determined with pwd, cd and string manipulation etc
MuPadNotebookPath = 'C:\projectFolder\ABC\abc\'
MuPadProceduresPath = 'C:\DEF\GHI\';
fid = fopen( [MuPadNotebookPath '\parameters.txt'], 'w');
fprintf(fid,'%s\r\n%', strrep(MuPadProceduresPath ,'\','\\')); %'
fclose(fid);
现在会有一个文件参数.txt in 'C:\projectFolder\ABC\abc\'
.
在 MuPad 中环境变量 NOTEBOOKPATH http://de.mathworks.com/help/symbolic/mupad_ref/notebookpath.html可以用来获取两个目录参数.txt and myMupadNotebook.mn.
ftextinput http://de.mathworks.com/help/symbolic/mupad_ref/ftextinput.html然后可以用来读取路径'C:\DEF\GHI\'
从文本文件。最后READPATH http://de.mathworks.com/help/symbolic/mupad_ref/readpath.html可以设置。
cfgfile := NOTEBOOKPATH . "parameters.txt":
rpath = ftextinput(cfgfile, rpath):
READPATH := rpath:
read("MyMupadProcedure.mu");
总的来说,它看起来像:
nb = mupad(MuPadNotebookPath);
fid = fopen( [MuPadNotebookPath '\parameters.txt'], 'w');
fprintf(fid,'%s\r\n%', strrep(MuPadProceduresPath ,'\','\\')); %'
fclose(fid);
status = evaluateMuPADNotebook(nb);