雷火电竞-中国电竞赛事及体育赛事平台

歡迎來到入門教程網!

C語言

當前位置:主頁 > 軟件編程 > C語言 >

Matlab實現(xiàn)數據的動態(tài)顯示方法

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊:

對于真實系統(tǒng)或者仿真平臺,數據是增量式的產生的。Matlab除了強大的矩陣運算外,還具有強大的數據可視化庫。由于靜態(tài)畫圖的方法較多,本文只針對增量式數據流的動態(tài)顯示。本文主要介紹幾種Matlab實現(xiàn)數據的動態(tài)顯示方法。方法主要有兩種:

hold on
set函數與drawnow函數組合

hold on 方法

1. 方法介紹

此種方法比較原始,適合于即時數據,原理是先畫上一幀,接著保留原始圖像,追加下一幀圖像,此種方式比較繁瑣,涉及畫圖細節(jié),并且沒有完整并連續(xù)的Line對象數據。此種方法需要注意的地方是,若想生成連續(xù)的線圖,則每次plot至少兩個點,原理大家都應該理解,兩點一線嘛!如果想每次一個點增量式的畫圖,則線型選擇'.'。

2. 代碼與圖例

t=0;
m=0;
t1=[0 0.1]; %若為'-'至少同時輸入兩個點,兩點一線嘛?。?!而'.'則不用
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; %下一個點
 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函數與drawnow函數組合

1. 方法介紹

這種模式比較適合畫動畫,效率比較高,刷新閃爍小,適合即時數據,最終的Line結構數據完整。
了解此方法之前要搞清楚 Plot函數的原型是什么: 每個Plot由一個句柄維護,而可以通過set函數對該句柄對應的plot參數在線的更新,若在線更新plot的數據,則可實現(xiàn)動態(tài)顯示的效果。
最后使用drawnow函數對plot進行刷新。

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

總結

本文介紹了兩種實現(xiàn)即時數據可視化的方法。也就是看上去的動態(tài)顯示效果。分別給出了兩種方法的原理介紹和示例程序與圖例。相信這兩個簡單的例子經過你的運用可以變幻出多姿多彩的數據可視化效果。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持我們。

上一篇:C++11中的原子量和內存序詳解

欄    目:C語言

下一篇:利用C++11原子量如何實現(xiàn)自旋鎖詳解

本文標題:Matlab實現(xiàn)數據的動態(tài)顯示方法

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/772.html

網頁制作CMS教程網絡編程軟件編程腳本語言數據庫服務器

如果侵犯了您的權利,請與我們聯(lián)系,我們將在24小時內進行處理、任何非本站因素導致的法律后果,本站均不負任何責任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網 版權所有