在Matlab中绘制一定的指定间隔后绘制实时数据

时间:2011-09-26 22:05:03

标签: matlab real-time

我有一个问题,我不知道如何解决这个问题。我正在绘制从MATLAB中的温度传感器获得的实时数据。传感器软件为每个传感器生成文本文件,并在每分钟后更新它。如果我希望在一段时间后更新地图,我该怎么办;让我们说10或20之后或每5分钟之后。

2 个答案:

答案 0 :(得分:2)

您可以使用timer

重用Nzbuu的代码,它将类似于以下

function ReadAndUpdate
  [X,Y] = readFile(); % Read file 
  set(h, 'XData', X, 'YData', Y) % Update line data    
end
t = timer('TimerFcn',@ReadAndUpdate, 'Period', 5*60, ...
          'ExecutionMode', 'fixedDelay')
start(t) 

此处函数无限触发,但您可以stop或设置条件。

答案 1 :(得分:0)

假设您有一个函数readFile从文件中读取数据。你可以做些以下快速和肮脏的事情。

h = plot(NaN, NaN);
while true
    [X,Y] = readFile(); % Read file
    set(h, 'XData', X, 'YData', Y) % Update line data
    pause(5*60) % Wait 5 minutes
end