現在、私はDIANAという有限要素ソフトウェアで作業しています。MATLABでバッチファイルを実行することで、常に「シンプル」モデルを実行できました。それにもかかわらず、今ではもっと複雑なモデルを使用し始めています(より堅牢で、より多くの要素で)。しかし、手順はまったく同じです。問題は、今ではモデルをMATLABから実行できないことです。明らかにモデルを実行し始めますが、突然停止します。私は、次のコマンドを使用しています:バッチファイルを実行するMATLAB - DIANA TNO
dos('path\filename.bat')
または
system(fullfile(path,'filename.bat'))
両方の線は、.batファイルを実行します。私はファイルに何か問題があると思ったので、それらを見直しましたが、明らかに問題はありません。それから、.batファイルをダブルクリックしただけで、手続きは問題なく実行されます。その後、問題はファイルではなく、MATLABからの実行であることに気付きました。問題の文脈を知ったので、MATLABがプロセスを内部的に「殺す」ことを避けるためにいくつかのアドバイスをくれますか?
実行のトレースは、MATLABで示した:
diana: working directory is *CURRENT DIRECTORY NAME*
diana: input file is *FILENAME*.dat
diana: command file is *FILENAME*.dcf
diana: output file is *FILENAME*.out
diana: filos file is diana.ff
DIANA JOB 8028 finished
バッチファイルで直接ダブルクリックを作るトレース実行は以下の通りです:
示した発言のファイルで前の図では、モデルの出力がMATLABから直接実行されている間に表示されますが、MATLABは以前にその処理を終了しているため、表示されません。
お返事ありがとうございます!
Pd:Windows7,12Gb RAM、OS 64ビット、プロセッサIntel Xeon 2.53 GHzの次の特性を持つコンピュータを使用しています。
感謝を:
このようなバッチファイルは次のように見えるかもしれません! Jean-FrançoisFabreさんに返信してください!まあ、あなたが意味することを理解していますが、実際には、言及したことを避けるために、現在のディレクトリをMATLABから変更しています。しかし、次のようなバッチファイルの行を含め、あなたの提案を試みました:[rem ===ダイアナ環境設定=== // "C:\ Program Files \ Diana 10.0 \ dialogin.bat"を呼び出します// Cd/d%〜dp0 // ダイアナファイル名]。しかし、残念ながら同じ問題が続く。 – lisandrojim
これで、バッチファイルの最後に 'pause'文を追加することができます。それがmatlabから失敗した場合、少なくともあなたは理由を見るでしょう。 –
これはMATLABのコマンドウィンドウで取得したものです:diana:作業ディレクトリはCURRENTDIRECTORYです// ダイアナ:入力ファイルはFILENAME.dat // ダイアナ:コマンドファイルはFILENAME.dcf // ダイアナ:出力ファイルはFILENAMEです.out // ダイアナ:filosファイルはdiana.ff // DIANA JOB 8028 finished //問題は報告されませんでした。 – lisandrojim