一位同事有一個包含交互式代碼的MATLAB startup.m
文件(它調用命令questdlg
詢問他希望工作在哪個項目目錄下)。檢測MATLAB startup.m是否在工作人員上運行
直接運行MATLAB時,這對他很好。但是,他還需要並行運行MATLAB代碼,並啓動了一個matlabpool
。
啓動時,在matlabpool
工人正在運行他的startup.m
文件,得到的questdlg
再掛(無限,或直到按CtrlÇ)。
一個簡單的解決方案就是擺脫他的startup.m
中的交互式代碼,因爲它不是真正必需的。
但是有沒有辦法來檢測這個startup.m
是否由一個工人啓動 - 類似於isdeployed
或?然後他可以保留他認爲有用的交互式代碼,但只有在不啓動工作人員時才執行它。
命令getCurrentWorker
看起來可能是需要的,但我相信它只在執行任務期間起作用,而不是在啓動時起作用。
謝謝@Edric。就我個人而言,如果它是「正確」的做法,我會對沒有記錄的東西感到滿意 - 但這裏記錄的基本上可行的東西也不錯。聽起來像'usejava'會起作用 - 謝謝! –