【问题标题】:plotting the real time data after certain specified interval in Matlab在 Matlab 中绘制特定时间间隔后的实时数据
【发布时间】:2011-09-26 22:05:02
【问题描述】:

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

【问题讨论】:

标签: matlab real-time


【解决方案1】:

您可以使用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它或设置一个条件。

【讨论】:

  • 谢谢..它工作得很好还有一个问题,我已经使用 subplot 绘制了大约 16 个图,但图看起来很小,所以我想添加滚动条..任何想法如何完成这个滚动条有某种功能的东西
  • 这可能通过将您的子图放在一个 uipanel 中(以及图中的 uipanel )。编辑:看看mathworks.com/matlabcentral/fileexchange/…
【解决方案2】:

假设你有一个函数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

【讨论】:

    猜你喜欢
    • 2019-04-14
    • 1970-01-01
    • 2013-11-22
    • 2018-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-25
    相关资源
    最近更新 更多