2012-09-18 145 views
0

我有一個有很多情節的代碼。這個問題(請原諒我的無知,因爲我不知道它是否可能)是,例如,當我從一開始就執行時,我直接看到最後一個情節,而不是一個接一個地看。因此,舉例來說,我已經試過,但它並沒有在所有的工作:在Matlab中關閉/暫停過程

pause(2); %After two seconds it starts and open the plot but I directly see the last plot, not this  
plot (x, y); 
title ('Average values') 
close; % The command close it works but only if I press 'evaluate function' 

pause(2); 
plot (out1,out2); 
close; 

而且,我已經試過用鍵盤命令來嘗試,如果有可能用一個鍵,然後關閉情節,用另一把鑰匙打開另一把鑰匙,但我無法做到。

如果有人知道我怎麼能做到這一點,我會是這樣我會很感激,

回答

1

Matlab的不繪製,通常在同一個進程中的計算。因此,通常情況下,除非您的程序有一段時間進行繪圖,否則不會顯示任何內容。

要強制matlab重畫窗口,你可以使用drawnow命令。但它只能在此刻繪製 - 因此,如果您的數字窗口將隱藏或隱藏在其他某個窗口的後面,則在下一次顯示時,重新繪製到達前景將不會發生。

對於您的情況,您還要在暫停(可以顯示的位置)之前關閉該圖。所以如果你要交換這兩個命令,你應該看到它。暫停的明顯缺點是 - 暫時停止您的程序。


從我的經驗我建議你寧願保存作爲圖形文件的情節,並使用一些外部程序來查看它們。 此外,我發現彈出新窗口煩人和打斷我的工作流程 - 所以我會重用圖形窗口,只需清除它與clf

0

我可能會誤解你正在嘗試做的事情,但是當我嘗試創建你所描述的內容時,它就像我預期的那樣適用於我。這裏是我的例子:

請注意,您將要關閉任何打開的數字窗口,以確保它彈出而不是讓它留在後臺。

pause(2); % Wait 2 seconds before starting 
plot(1:10); % Plot an upward line 
title('up'); % Give it a title 

pause(2); % Wait 2 seconds before showing the next plot 
plot(10:-1:1); % Plot an downward line 
title('down'); % Give it a title 

根據你想如何使用它們,保存圖可能是一個更好的解決方案。