2

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

system(['phc -b ' in_file ' ' out_file])

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

>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 中执行此操作,但我需要这样做,因为我必须重复数百次。

4

1 回答 1

1

您可以生成一个单独的文件,然后使用 shell 的“<”运算符将其用作标准输入。您的代码可能是这样的:

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”。您可能必须同时测试这两个选项,以确定哪一个有效。

于 2013-09-23T11:09:53.180 回答