我参与了我大学物理系的一个研究项目。在实验中,我们使用MokuLab(也称为Moku或Pymoku)来收集数据,并在收集数据时对所述数据进行流式处理。MokuLab可以使用Python操作。为了进行数据分析,我们使用MATLAB进行计算并在界面上显示数据。对于我的研究项目,我的工作是制作一个MATLAB代码和用户界面,它可以实现以下功能:
总的来说,我对MATLAB调用python脚本的部分没有异议。我目前的问题是,在进行数据分析时,我不知道如何将流上调用的函数移到后台。因此,我想知道是否有人知道如何在MATLAB中调用函数,然后让它在后台运行的方法,或者给我一个例子。我用什么方法可以做到这一点
虽然我没有正式尝试过任何东西,但我一直在寻找可能有助于我实现这一目标的方法。我的指导老师推荐的一个选项是我使用并行处理。然而,似乎MATLAB需要很长时间来初始化parpool
,而且我对这种编程风格也不太精通;我现在还在学习。我也想过用一个定时器函数调用这个函数,但我认为这不会给我太多的流控制权
为了直观地了解我想要什么,假设我有一个MATLAB函数,它启动流并在流中进行数据分析:
function initiateMokuStream(obj)
py.SomeModule.InititateStream();
print('Stream is running');
while (StreamRuns == True)
obj.file1 = open('ch1.txt');
obj.file2 = open('ch2.txt');
SecondDemodAnalysis(obj.file1,obj.file2,other args);
end
print('Stream is over, there is no more data to collect');
end
预期结果是,在调用函数之后,它打印'Stream is running'
。之后,用户仍然可以执行其他操作,而不必等待流结束并打印'Stream is over, there is no more data to collect'
目前没有回答
相关问题 更多 >
编程相关推荐