2013-05-08 134 views
0

我在matlab中有一個長期運行的模擬程序,它定期更新數字。我希望能夠繼續在不同的Linux桌面上工作,但是我發現,如果我不在它正在使用的桌面上,matlab會慢慢爬行。我認爲這與它對渲染成不可見的圖形或其他東西感到不快。有沒有其他人看到這個,或者更好的解決方案?我知道我可以在沒有這些數字的情況下跑動,但我真的想要偶爾檢查一下,看看這些數字以查看狀態。Matlab在不同的linux桌面上運行時會變慢

回答

0

我在帶顯示器的網絡服務器上運行matlab。這些是我發現的一些事情,在速度方面顯示圖形,與matlab交互等方面的差異。

我不運行matlab與桌面顯示。所以,我用這個命令來運行MATLAB:

/apps/matlab/R2008b/bin/matlab -nosplash -nodesktop 

沒有一個MATLAB屏互動與花了一點時間來適應的。但是,現在我已經習慣了它,我發現我可以更快地使用matlab(即僅從命令行運行命令)。我仍然可以顯示圖形(一個-nodisplay調用將停止),並且事情似乎運行得很快。

我還會確保你完成清理工作。我不確定,但我期望如果你不斷地在一個數字上作圖,會造成一些內存泄漏。你說你有一個長時間運行的模擬。我懷疑每次繪圖後關閉這個數字可能會有所幫助。就像這樣:

for ii = 1:10 
figure(1337); 
plot(x,y) 
drawnow 
close(1337) 
end 

另一種選擇是不帶顯示器(-nodisplay)運行,並在圖中的每個更新打印文件。

for ii = 1:10 
figure(1337); 
set(1337,'visible','off') 
plot(x,y) 
drawnow 
print(1337,'-dpng',filename.png); 
close(1337) 
end 

然後,使用圖像編輯程序在每次更新時顯示輸出圖像。 例如,

eog filename.png 

(你很可能也寫的是自動打開的圖像,每次圖像更新一個整潔的小shell腳本。)