我有一个工作的MATLAB程序测量数据,使用MATLAB的SOAP库(每秒几次测量)实时调整机器。它工作得很好,更新了两个数字,每个数字包含四个子图,随着调整的进行。最近情节已停止更新,只显示一个灰色框(如果重新调整窗口大小,实际上有两种灰色阴影)。
我可以告诉程序从编写到MATLAB控制台的调试信息中正常运行。此外,有时情节会在一次爆发中更新,添加许多新点,当它们应该更新每个新点时。
我对代码进行了一些小的更改以减少通信流量,但我最近的最大变化是对toc的所有大量调用来测量代码的各个部分所花费的时间,一开始就有一个tic
这些额外的定时调用是否有可能抑制情节?
这是我的代码的简化副本。它是一个嵌套函数,它使用顶级函数中的一些配置数据。该图是在顶级函数中创建的两个图之一,然后在新数据到达时完全重绘。
function acc_plot(accFig, accData)
figure(accFig);
sp1 = '221';
% Plot current vs raw position
subplot(sp1);
plot(xRawPos,yCfbDcM,'r.', xRawPos,yCfbDcP,'b.')
hold on;
if tuneConfig.dualSensors(accData.axisIx)
plot(xRawPosB,yCfbDcM,'g.', xRawPosB,yCfbDcP,'m.')
end
title(['acc check ' tuneConfig.axisNames{accData.axisIx}])
ylabel('CFBM(r)/CFBP(b) [A]')
xlabel(xPosLabel)
grid on
end
答案 0 :(得分:1)
在您的函数中添加“drawnow”以强制刷新。