2015-03-25 32 views
2

我在MATLAB函數中有一個變量t=toc;t更改循環中的值。目前該函數在matlab中以批處理方式運行。我想從調用函數讀取t。我試過聲明t是一個全局變量,可以被所有函數訪問。但在批處理過程中不起作用。任何人都可以建議做什麼?在matlab中與批處理共享全局變量

+1

你是什麼意思的「批處理」? – siliconwafer 2015-03-25 13:15:13

+0

matlab在PCT批處理('腳本')'中提供了一個函數,我用這個批處理函數運行一個函數。希望這會澄清任何懷疑。 – 2015-03-25 16:12:22

回答

0

當一個批處理過程在一個matlab工人(一個單獨的進程)上執行。此工作人員無法執行任何其他操作,因爲m代碼是單線程的。您無法讀取未完成的批處理過程中的變量。

作爲一種可能的解決方法,您可以將需要的信息寫入文件並在主matlab實例中讀取。

+0

其實我使用'imfreehand()'來標記一個區域。正在運行一個名爲timestamp()的函數(這是由我寫的),它執行定時操作。當我使用'imfreehand'時,當標記'timestamp()'停止並且在完成標記時再次啓動。但我想運行標記和計時操作來收集。怎麼做? – 2015-03-27 13:53:25

+0

@samran:從你的評論我不明白你想要實現什麼。我建議在你解釋你想要實現的內容時提出一個新問題。如果可能的話,提供解釋您問題的簡短示例代碼。 – Daniel 2015-03-27 13:59:43