2013-09-23 78 views
2

我用matlab調用'phc.exe'來解決複雜的方程系統。我的操作系統是Windows。我可以使用它來調用它Matlab:帶額外輸入的Shell命令

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中做到這一點,但我需要做的,因爲我要重複這樣的幾百次。

回答

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」。您可能必須使用這兩種選項進行測試才能找出哪一個可行。