exeをmatlab上で実行・操作する

52 views (last 30 days)
junya ishii
junya ishii on 14 Feb 2022
Commented: junya ishii on 16 Feb 2022
当方大学修士1年matlab歴2年の者です。
datcom.exeというfortranでコンパイルした実行ファイルをmatlabスクリプト上で実行したいです。
この実行ファイルは通常、コマンドプロンプト上またはその実行ファイル上で扱います。
実行後、解析条件等が記載されている入力ファイル名の入力を要求されます。その後、出力ファイルが生成されます。
①コマンドプロンプト上で実行した場合
②実行ファイルをダブルクリックにより実行した場合(Enterを押すと出力ファイルを生成し即終了する)
この操作を、matlabスクリプト上で行いたいと思っています。
コマンドウィンドウ上では可能でした。
③コマンドウィンドウ上で実行した場合
この場合、exe内の要求ダイアログがコマンドウィンドウに返ってきて、疑似的にコマンドウィンドウ上で直接入力できるために可能なのだと解釈しています。
しかし、これを通常のスクリプト上で行おうとした場合、「test.INP」をどのように指示すればよいか分からず、困っています。
ご存じの方いらっしゃいましたら、ご教授お願いします。
など参考にしたり、system関数、dos関数など使用しようとしてみましたが、解決しませんでした。
よろしくお願いします。

Answers (1)

Hernia Baby
Hernia Baby on 14 Feb 2022
こちら はいかがでしょうか?
  4 Comments
junya ishii
junya ishii on 16 Feb 2022
すみません追記です。
インプットファイルは、空のtmp.INPで試しても同じ結果となりました。(いちおう添付します。)
自分でも調べてみましたが、どうやらfortranのソースコード側に問題があるかもしれないということは分かりました。
自分がやりたかったことは、入力ファイルを作成し、exeを実行して解析し、出力結果を読み込むという動作をMATLABで全自動で行うということだったので、ソースコードでファイル名を尋ねる部分を削除し、ファイル名を固定にすることにより一応実現はしています。
なので絶対に解決する必要があるわけではなくなったのですが、当初の問題に対し、MATLAB側で対処できる手段はないのかという疑問と、「<」を使ってもなぜ上手くいかないのかという疑問は残っているので、お時間がある時に回答頂ければ嬉しいです。
よろしくお願いします。

Sign in to comment.

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!