別のスクリプト内から matlab でスクリプトを実行する方法が必要です。注意が必要なのは、最初のスクリプトが while ループであり、60 秒ごとに新しいジョブをポーリングすることです。ジョブが見つかった場合 (私が作成したもの)、main.m ファイルを呼び出す必要があります。さて、問題は、while ループが既に実行されている間に main.m と他のすべての関数を変更できるようにしたいということです。ループは次のようになります。
while run
- pause 60 seconds
- get jobs form text file on network drive
- run main(jobID)
- save result on network drive
end
eval コマンドでうまくいくと思いました。しかし、そうではありません。whileループを開始するとすぐに、Matlabは実行時に呼び出すことができるすべての関数をコンパイルすると思います。それ以降、while ループを再起動しないと何も変更できません。(変更できますが、Matlab はすべての変更を無視します)。
この問題を回避する方法はありますか? コマンド ウィンドウ内で、ユーザーが入力したかのようにコマンドを実行する方法があると思いました。でも思い出せない。