如何在MATLAB中调用命令程序

fee*_*ree 0 c++ matlab

在MATLAB中,可以调用用C或C++编写的命令程序.例如,我可以使用以下命令在Windows中调用命令程序:

system('program.exe -i input_file1.txt -o output_file1.txt -m 1 ');
Run Code Online (Sandbox Code Playgroud)

通过这样做,我可以直接从MATLAB调用命令行程序.我现在遇到的问题是,当我使用该system函数时,必须修复所有参数.例如,如果一个参数是可更改的,则使用system函数将失败.例如,

for i=1:3
  input_file_name = [num2str(i),'.txt'];
  system('program.exe -i input_file_name -o output_file1.txt -m 1 ');
end
Run Code Online (Sandbox Code Playgroud)

那么,我该如何处理这种情况呢?谢谢.

am3*_*304 6

您需要稍微更改语法:

for i=1:3
  input_file_name = [num2str(i),'.txt'];
  system(['program.exe -i ' input_file_name ' -o output_file1.txt -m 1 ']);
end
Run Code Online (Sandbox Code Playgroud)

input_file_name是MATLAB中变量的名称,因此您可以在传递给system命令的字符串中逐字编写.