Matlab實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示方法
對(duì)于真實(shí)系統(tǒng)或者仿真平臺(tái),數(shù)據(jù)是增量式的產(chǎn)生的。Matlab除了強(qiáng)大的矩陣運(yùn)算外,還具有強(qiáng)大的數(shù)據(jù)可視化庫(kù)。由于靜態(tài)畫圖的方法較多,本文只針對(duì)增量式數(shù)據(jù)流的動(dòng)態(tài)顯示。本文主要介紹幾種Matlab實(shí)現(xiàn)數(shù)據(jù)的動(dòng)態(tài)顯示方法。方法主要有兩種:
hold on
set函數(shù)與drawnow函數(shù)組合
hold on 方法
1. 方法介紹
此種方法比較原始,適合于即時(shí)數(shù)據(jù),原理是先畫上一幀,接著保留原始圖像,追加下一幀圖像,此種方式比較繁瑣,涉及畫圖細(xì)節(jié),并且沒(méi)有完整并連續(xù)的Line對(duì)象數(shù)據(jù)。此種方法需要注意的地方是,若想生成連續(xù)的線圖,則每次plot至少兩個(gè)點(diǎn),原理大家都應(yīng)該理解,兩點(diǎn)一線嘛!如果想每次一個(gè)點(diǎn)增量式的畫圖,則線型選擇'.'。
2. 代碼與圖例
t=0; m=0; t1=[0 0.1]; %若為'-'至少同時(shí)輸入兩個(gè)點(diǎn),兩點(diǎn)一線嘛!?。《?.'則不用 m1=sin(t1); p = plot(t1,m1,'-b','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 hold on t=0.1*i; %下一個(gè)點(diǎn) m=t-floor(t); t1=t1+0.1; %下一段線 m1=sin(t1); p = plot(t1,m1,'-b','MarkerSize',5); x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.01); end
set函數(shù)與drawnow函數(shù)組合
1. 方法介紹
這種模式比較適合畫動(dòng)畫,效率比較高,刷新閃爍小,適合即時(shí)數(shù)據(jù),最終的Line結(jié)構(gòu)數(shù)據(jù)完整。
了解此方法之前要搞清楚 Plot函數(shù)的原型是什么: 每個(gè)Plot由一個(gè)句柄維護(hù),而可以通過(guò)set函數(shù)對(duì)該句柄對(duì)應(yīng)的plot參數(shù)在線的更新,若在線更新plot的數(shù)據(jù),則可實(shí)現(xiàn)動(dòng)態(tài)顯示的效果。
最后使用drawnow函數(shù)對(duì)plot進(jìn)行刷新。
2. 代碼與圖例
t=[0] m=sin(t) p = plot(t,m,'EraseMode','background','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 t=[t 0.1*i]; m=[m sin(0.1*i)]; set(p,'XData',t,'YData',m) drawnow x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.01); end
總結(jié)
本文介紹了兩種實(shí)現(xiàn)即時(shí)數(shù)據(jù)可視化的方法。也就是看上去的動(dòng)態(tài)顯示效果。分別給出了兩種方法的原理介紹和示例程序與圖例。相信這兩個(gè)簡(jiǎn)單的例子經(jīng)過(guò)你的運(yùn)用可以變幻出多姿多彩的數(shù)據(jù)可視化效果。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
VC++基于Dx實(shí)現(xiàn)的截圖程序示例代碼
這篇文章主要介紹了VC++基于Dx實(shí)現(xiàn)的截圖程序示例代碼,比較實(shí)用的功能,需要的朋友可以參考下2014-07-07Matlab利用遺傳算法GA求解非連續(xù)函數(shù)問(wèn)題詳解
遺傳算法起源于對(duì)生物系統(tǒng)所進(jìn)行的計(jì)算機(jī)模擬研究。其本質(zhì)是一種高效、并行、全局搜索的方法,能在搜索過(guò)程中自動(dòng)獲取和積累有關(guān)搜索空間的知識(shí),并自適應(yīng)地控制搜索過(guò)程以求得最佳解。本文將利用其求解非連續(xù)函數(shù)問(wèn)題,需要的可以參考一下2022-09-09opengl實(shí)現(xiàn)任意兩點(diǎn)間畫圓柱體
這篇文章主要為大家詳細(xì)介紹了opengl實(shí)現(xiàn)任意兩點(diǎn)間畫圓柱體,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06Opencv 馬賽克和毛玻璃效果與圖片融合的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了通過(guò)OpenCV實(shí)現(xiàn)馬賽克和毛玻璃濾鏡效果與圖片的融合,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-11-11淺析成員函數(shù)和常成員函數(shù)的調(diào)用
下面小編就為大家?guī)?lái)一篇淺析成員函數(shù)和常成員函數(shù)的調(diào)用。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧2016-05-05