0
我正在通過Matlab在'cmd'提示符下執行各種輸入的windows'.exe'文件。命令如下。使用Matlab進行並行計算
for i = 1:n
filename = sprintf('input_%d.dat',i);
string = sprintf('!sfbox.exe %s', filename);
eval(string)
end
所有輸入文件存在並且彼此獨立。但是,如果我嘗試使用「PARFOR」並行執行如下,
parfor i = 1:n
filename = sprintf('input_%d.dat',i);
string = sprintf('!sfbox.exe %s', filename);
eval(string)
end
我得到一個錯誤,但代碼連續運行,而無需停止
Explanation
MATLAB runs parfor loops on multiple MATLAB workers that have
multiple workspaces. The indicated function might not access the
correct workspace; therefore, its usage is invalid.
是否有執行EVAL以正確的方式使用parfor? (PS:我試着在cmd提示符下手動執行幾個.exe文件,並且在命令提示符下同時運行多個.exe文件是可行的。問題是我嘗試在Matlab中執行它的方式,請建議更好方法)。
你說得對。我應該直接使用'system'。有用。由於我在開發過程中遇到了'system'命令,所以我使用'eval'。 –