필터 지우기
필터 지우기

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

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

답변 (1개)

Hernia Baby
Hernia Baby 2022년 2월 14일
こちら はいかがでしょうか?
  댓글 수: 4
junya ishii
junya ishii 2022년 2월 16일
ご返答ありがとうございます。
エラーコードを以下に記述します。
---------------------------------------------------------------------------------------------------
Digital Datcom
Enter the input file name:
Unable to open this file. Try again
Enter the input file name:
At line 9 of file tmp.f (unit = 5, file = 'fort.5')
Fortran runtime error: End of file
Error termination. Backtrace:
Could not print backtrace: libbacktrace could not find executable to open
#0 0xffffffff
#1 0xffffffff
#2 0xffffffff
#3 0xffffffff
#4 0xffffffff
#5 0xffffffff
#6 0xffffffff
#7 0xffffffff
#8 0xffffffff
#9 0xffffffff
#10 0xffffffff
#11 0xffffffff
#12 0xffffffff
#13 0xffffffff
#14 0xffffffff
#15 0xffffffff
---------------------------------------------------------------------------------------------------
また、読み込む機能のみを持っているexeファイルを添付いたします(tmp.zipの中のtmp.exeです)。
全てカレントディレクトリに置いて作業をしているので、パスに問題はないと思っています。
よろしくお願いします。
junya ishii
junya ishii 2022년 2월 16일
すみません追記です。
インプットファイルは、空のtmp.INPで試しても同じ結果となりました。(いちおう添付します。)
自分でも調べてみましたが、どうやらfortranのソースコード側に問題があるかもしれないということは分かりました。
自分がやりたかったことは、入力ファイルを作成し、exeを実行して解析し、出力結果を読み込むという動作をMATLABで全自動で行うということだったので、ソースコードでファイル名を尋ねる部分を削除し、ファイル名を固定にすることにより一応実現はしています。
なので絶対に解決する必要があるわけではなくなったのですが、当初の問題に対し、MATLAB側で対処できる手段はないのかという疑問と、「<」を使ってもなぜ上手くいかないのかという疑問は残っているので、お時間がある時に回答頂ければ嬉しいです。
よろしくお願いします。

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Marine and Underwater Vehicles에 대해 자세히 알아보기

제품


릴리스

R2021b

Community Treasure Hunt

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

Start Hunting!