【发布时间】:2011-09-26 22:05:02
【问题描述】:
我有一个问题,我不知道如何解决。我正在绘制从 MATLAB 中的温度传感器获得的实时数据。传感器软件为每个传感器生成文本文件,并每分钟更新一次。如果我希望情节在一段时间后更新,我该怎么办;假设在 10 或 20 个值之后或每 5 分钟之后。
【问题讨论】:
我有一个问题,我不知道如何解决。我正在绘制从 MATLAB 中的温度传感器获得的实时数据。传感器软件为每个传感器生成文本文件,并每分钟更新一次。如果我希望情节在一段时间后更新,我该怎么办;假设在 10 或 20 个值之后或每 5 分钟之后。
【问题讨论】:
您可以使用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它或设置一个条件。
【讨论】:
假设你有一个函数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
【讨论】: