2016-09-26 36 views
-1

在while循環中,我有一些函數可以爲我想要繪製的圖形創建所有必要的y值。在所有y值完成後,我希望我的程序繪製dat(雖然仍在循環中),但無法創建繪圖,因爲直到循環結束時數據纔會顯示出來。 有沒有辦法做到這一點?如何繪製MATLAB中的while循環內部?

基本上我的代碼是(我只是要對第一種情況在這裏)

while c~=3 
    c=menu('a','b','c') 
    switch c 
      case 1 
      for 
       %function that creates y-values 
      end 
      plot(x,y) 
    end 
end 

正如我所說的;我將循環結尾的所有數據都存儲在工作區中。這意味着當我第二次運行它時,它工作正常。 但我想知道如何使它第一次工作。

+0

嗯,這完全停止策劃altogheter,而是開始計劃在第一次嘗試後,我重新MATLAB。我不知道發生了什麼事。 – kenneth

+5

'hold on'和'drawnow'是你的朋友 –

回答

0
  • 連續線圖,你可以使用drawnowhere闡述瞭如何做到這一點(記得用pause(.),如果你想以可視化的變化「實時」。
  • 添加時要保留當前標新的地塊使用hold on,因爲它是解釋here
  • ,如果你想打開不同的窗口爲每個不同的情節,你可以使用類似:

    ii=1; while ... ... figure(ii) plot(x,y) ii=ii+1; ... end

但要小心最後一個:如果你有情節的一個大數目,你可以有一些問題