Matlab:带有附加输入的Shell命令

时间:2013-09-23 10:49:20

标签: matlab shell

我用matlab调用'phc.exe'来解决一个复杂的方程系统。我的操作系统是Windows。我可以用

来调用它
system(['phc -b ' in_file ' ' out_file])

在我调用方法之后,我被要求输入另外两个参数。基本上,如果我在命令行窗口中键入它,它看起来像这样:

>phc -b in_file out_file
>Which method do you want to use? (0,1,2,3,4): 3
>Do you want only real solutions (y/n):

问题是我不知道如何在Matlab中做到这一点,但我需要这样做,因为我必须重复几百次。

1 个答案:

答案 0 :(得分:1)

您可以生成一个单独的文件,然后使用shell的“<”将其用作stdin运营商。 你的代码可能是这样的:

file  = fopen('jobIn.txt', 'wt');

fprintf(file, '3\n');
fprintf(file, 'y\n');

fclose(file);

system(['phc -b ' in_file ' ' out_file ' < jobIn.txt'])

您可以在终端窗口(“DOS”提示符)上测试它是否首先工作。另外,请注意“\ n”和“\ r \ n”。您可能必须使用这两个选项进行测试才能找出哪个有效。