path に mupad-notebook myMupadNotebook.mnがあるとします'C:\projectFolder\ABC\abc\'
。にあるプロシージャMyMupadProcedure.muを呼び出します'C:\DEF\GHI\'
。
これで、コンテンツを含む Matlab スクリプトmain.mができました。'C:\projectFolder\XYZ\xyz\'
nb = mupad('C:\projectFolder\ABC\abc\myMupadNotebook.mn');
status = evaluateMuPADNotebook(nb);
そのため、シンボリック エンジンを初期化し、Mupad スクリプトを実行します。ただし、Mupad スクリプトでは、プロシージャを見つける場所を知る必要があります。したがって、Mupad ノートブック内で、次のように [ファイル] -> [プロパティ] -> [起動コマンド] を使用して、いくつかの起動コマンド (または起動スクリプト) を定義できます。
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 '"'])