首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >边处理边流式处理

边处理边流式处理
EN

Stack Overflow用户
提问于 2017-06-06 13:01:53
回答 1查看 72关注 0票数 1

我正在开发一个应用程序,我通过USB从4个传感器接收大量数据,并将它们显示在Matlab中。

流式处理工作得很好,但是,我需要在流式处理数据时对其进行一些处理。我使用传入数据的片段并对其进行处理,然后绘制处理后的数据。传入的数据逐段获取并进行处理。

我的问题是,如果我在每个数据段中处理5秒的数据。当执行处理和绘图时,流停止,因此,当下一批处理的时间到时,我必须等待下一个5秒段的流。即使我将处理的开始延迟到比方说20秒之后,当处理开始时,流总是会停止,并且我将总是有一个小的暂停来读取新的数据。即使在处理数据时,如何保持来自串行端口的流或数据接收正常?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-06-06 14:16:35

您应该使用工作线程来执行处理。这可以在matlab中使用parfeval命令来完成,如下所示:

代码语言:javascript
复制
parpool % start a parallel pool (may take some time)

...

nOutputs = 1; % number of outputs
in1 = 1; % first input argument
in2 = 2; % second input argument
f = parfeval(@your_function, nOutputs, in1, in2); % execute your function with two input arguments as example

...

% check regularly if the function is executed
if strcmp(f.State, 'finished') == 1
  output = fetchOutputs(f);
  ... % do something with the output
  delete(f); % empty resources
end

或者,您可以使用batch命令。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44381722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档