1
請問在Matlab中DRAWNOW的問題可以幫我一下嗎?在Matlab上畫圖:它存儲圖或存儲變量?
當我們在Matlab中使用drawnow
時,會發生什麼?
它存儲圖前面,圖形的,然後繪製在同一圖下一個部分的,圖?
或者它忘記了整個前面的圖並繪製了實際新圖(包括上一個和下一個部分)?
這兩種方法都顯示相同的效果:動態圖。但我想知道里面發生了什麼。
謝謝!
請問在Matlab中DRAWNOW的問題可以幫我一下嗎?在Matlab上畫圖:它存儲圖或存儲變量?
當我們在Matlab中使用drawnow
時,會發生什麼?
它存儲圖前面,圖形的,然後繪製在同一圖下一個部分的,圖?
或者它忘記了整個前面的圖並繪製了實際新圖(包括上一個和下一個部分)?
這兩種方法都顯示相同的效果:動態圖。但我想知道里面發生了什麼。
謝謝!
drawnow
確保MATLAB停止執行任何操作並在屏幕上繪製。
如果你
hold on
for ii=1:1000
plot(ii,rand(1)); % assume complicated maths here
end
MATLAB會運行代碼併發送plot
調用圖形引擎。但是,MATLAB忙於運行循環繪圖,因爲代碼優先於繪圖。
如果你
hold on
for ii=1:1000
plot(ii,rand(1));
drawnow; % Take a break, draw everything that you must before continuing
end
然後,隨着評論說,你暫時停止代碼的執行,繪製圖形管線的一切,然後繼續執行代碼。
drawnow
對數字存儲與否是沒有影響的,這就是hold on
的工作。
如果你擔心重繪整個事情,那麼請確保你看看set
和get
圖形方法。通過確保圖形引擎不重繪/重新計算其他任何東西,可以使用它們get
xdata
,再次修改它和set
。
文檔爲hold
功能:
感謝您的支持迅速。 –
@ThienNhat歡迎您。考慮接受asnwer有效,如果它幫助你 –
我應該花一些時間來看看你的答案。謝謝。 –