Pass a parameter vector to an exe file

7 views (last 30 days)
Hi to all, I have a exe file generated from fortran that I need to run in Matlab for different parameters. The exe file require that I input by keyboard the parameter and the option in matlab: system('myprogram.exe') (equivalently ! or dos or unix) work in the same way: need the input by the keyboard. Exist the possibility to pass the input in a different way? I have tried system('myprogram.exe PARAMETER') but doesn't work. Thank you in advance to all. erasmo
  1 Comment
Kaustubha Govind
Kaustubha Govind on 1 Dec 2011
Did you mean that the executable prompts the user to enter the input? Or does it use command-line arguments? How would you provide the input from a system shell?

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 1 Dec 2011
try system('myprogram.exe < InputParameters.txt') where InputParameters.txt is a text file that you created ahead of time, just type in the parameters to the text file as if you are type it in command window, include the carriage return.
  2 Comments
erasmo mancusi
erasmo mancusi on 1 Dec 2011
Edited: dpb on 1 Sep 2022
First of all I'd like to thank Jiang for his replay.
Then I share the solution:
fid = fopen('filename1', 'wt');
fprintf(fid, '%6f \n', state variables); %write out the input parameters the program will need
fprintf(fid, '%6f \n', PAR1); %write out the input parameters the program will need
system(['myprogram.exe < ' 'f.7']);%ruxecutable with content of fname as
% the myprogram.exe create a file named filenam2 where this program write the NDIM dtate variables and the new parameter (at each iteration the myprogram.exe close the file and then rewrite on it)
A = importdata('filename2'); % here I import the new data that will be re-assigned to filename1
statevariable=A(1:NDIM,1);
PAR1=A(NDIM+1,1);
fclose(fid);
thx
eramso

Sign in to comment.

More Answers (0)

Categories

Find more on Programming in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!