2016-06-29 61 views
0

我必須運行一系列模擬並保存結果。由於默認情況下Matlab只使用一個內核,我不知道是否可以打開多個工作任務併爲其分配不同的模擬運行?Matlab/Simulink:並行運行一批模擬?

+1

您可以使用parfor來運行並行仿真。請參閱http://www.mathworks.com/help/simulink/ug/running-parallel-simulations.html – Navan

+0

請提供您的代碼的典型示例,無論它是否有循環,或者您是否使用和優化算法等。 , 請記住,從串行運行代碼切換到並行代碼並不那麼簡單,大多數情況下,您需要修改和修改代碼以便能夠並行運行。 – Soyol

回答

0

您可以在單獨的MATLAB實例中運行每個仿真,並讓操作系統將該過程處理爲核心分配。

一個主控MATLAB可以同步每個子實例,例如是否存在仿真結果文件。

0

我aso有同樣的問題,但我沒有設法真正理解如何使它在MatLab。 matlab中的文檔過於先進,無法知道如何製作它。

因爲我與Ubuntu的工作我找到一種方法,做的工作調用從MATLAB UNIX命令,並使用並行GNU命令

所以我奶源與4個核上運行我的並行仿真。

unix('parallel --progress -j4 flow > /dev/null :::: Pool.txt','-echo') 

你可以找到鏈接構造結 Shell, run four processes parallel

詳情可https://www.gnu.org/software/parallel/ 找到更多的信息,但breifly我可以告訴你

--progress顯示進度的狀態

-j4告訴你想要並行的數量或工作

流是我的模擬器的名稱

的/ dev/null的只是避免了模擬器的屏幕運行輸出顯示

Pool.txt是我所需要的模擬輸入信號是由一個文件基本上是路徑和主模擬器文件。

echo我現在不記得它是什麼了:D