我用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中做到这一点,但我需要这样做,因为我必须重复几百次。
答案 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”。您可能必须使用这两个选项进行测试才能找出哪个有效。