Re: [問題] 請教即時繪圖越畫越慢之問題已回收
※ 引述《cosmosQQ (成也風雲敗也風雲)》之銘言:
: 想請教一下
: 當我們在plot點時候 要保留之前的點
: 會開個 hold on
: 之後我在一個回圈裡 資料處理完 會送x,y 去畫點
: plot(x,y);
: drawnow
: 點出現的速度 一開始還算流暢
: 但到後面 越來越無力..變很慢
: 這該如何去改善呢
: 怎樣均速繪出點
由於你不斷的畫,我猜MATLAB會不斷的資料疊上去,造成記憶體龐大負擔而變慢。
我個人解法是每次都畫且不要用hold on重劃,而是第一次畫個虛點
haxes = plot( 0 , 0 );
然後再來用
set( haxes , 'XData' , XArray , 'YData' , YArray )
的方式去畫,你只要一直更新XArray跟YArray的內容即可,速度會快很多。
例如
% upon data in
XArray = [ XArray newx];
YArray = [ YArray newy];
set( haxes , 'XData' , XArray , 'YData' , YArray )
% end of update
我都用這方法從硬體即時擷取資料並即時畫出來,一般來說5~10Hz應該沒問
題。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.198.181.16
→
06/08 16:13, , 1F
06/08 16:13, 1F
推
06/08 16:59, , 2F
06/08 16:59, 2F
→
06/08 17:00, , 3F
06/08 17:00, 3F
推
12/16 13:00, , 4F
12/16 13:00, 4F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):