MATLAB在文本文檔中實時採集數據並繪圖更新

之前寫過一個利用MATLAB GUI實現串口通信,並在界面上實時繪圖,上次的實現是數據存儲在數組中,eg:a=[a temp];等,詳細實現可見Matlab GUI上位機界面實現串口通信

當數據存儲在txt文檔中,實時繪圖更新一般採用drawnow指令,MATLAB官網中的drawnow案例爲y=sin(x)這種已經存在確定函數關係的實現,如果實時採集不確定的數據並繪製,那麼具體實現方法如下:

Time_n = datestr(now,'yyyymmddHHMMSS'); %記錄當前時間

data = fopen(['xx\',Time_n,'data.txt'],'w+'); %存儲的文件名包含當前測試的時間

filename = ['xx\',Time_name,'data.txt']; %記錄文件名

……a=……;b=……;c=…… %採集數據

fprintf(data,'%.2f\t',[a,b,c]); %數據存儲在data文本文檔中

fprintf(data,'\r\n');

A=load(filename);   %A是data所存儲的路徑 

 if size(A,1)>1  %繪圖的判斷條件,可加可不加

 figure(1);

plot(A(:,2))

subplot(2,2,2)

……

   drawnow

end

效果如下:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章