我有两个脚本要同时执行。计时器应该执行此操作,但是它不起作用。我是这样设置的:
%main script
f=figure('units','Normalized','Outerposition',[0 0 1 1]);
h=animatedline('color','b','marker','.');
%% variables
i=1;
i_max=600;
x=[];
means=[];
count=0;
count_max=100;
espera=count_max/20;
i_max=600;
running=true;
t = timer('TimerFcn', 'script1;','StartDelay',1,'ExecutionMode','singleShot');
tt = timer('TimerFcn', 'script2;','StartDelay',1,'ExecutionMode','singleShot');
start(t);
start(tt);
disp('done')
但是,这只会先运行t,然后再运行tt。输出为:
>> main
done
start script1
end script1
start script2
end script2'
脚本非常简单,我试图使其首先运行:
%script1
disp('start script1')
while i<=i_max
x=[x;sin(i)+rand*randi([1 5])];
for k=1:lh
addpoints(h_notsave(k),i,x(i));
end
drawnow
i=i+1;
count=count+1;
end
running=false;
disp('')
disp('end script1')
%script2
disp('start script2')
while running
if count>=count_max
data=x(end-count_max+1:end);
means=[means;mean(data)];
count=0;
disp('inside if')
end
pause(espera);
end
disp('end script2')
我不能将每个脚本发送到不同的线程,因为工作人员不支持绘图,也不在它们之间发送信息。
我认为我们可以使用排队的数据来更新工人的地块,但我不知道如何。