我正在进行一项实验,我会谈论数据,MatLab会将数据绘制成图并将其保存在视频文件中。
目前,我使用tic / toc函数和while循环来控制Matlab记录实验数据的持续时间。但是,有时候,实验的结束时间比我设置计时器的时间要快。因此很长一段时间我不得不等待MatLab完成记录我不会使用的数据。
我正在寻找一种MatLab函数或技术,可用于在命令中停止程序并仍保留到目前为止记录的数据。
另一件事是我不知道每个实验需要多长时间,所以我无法设定特定的时间。一个实验可能持续几秒钟,另一个实验可能持续超过两分钟。
我现在的代码是这样的:
tic;
while toc<90 % run loop until time is 90 secs
%Record data
%graph data
end
%save all data to a file
答案 0 :(得分:1)
您可以在每次迭代中保存数据,然后使用
在中间中断程序Ctrl + C
这可能效率不高,但如果可行则应该解决您的问题。
tic;
while toc<90 % run loop until time is 90 secs
%Record data
%graph data
%save all data to a file
end
另一种方法是检查循环中的特定按键,然后保存所有数据
tic;
while toc<90 % run loop until time is 90 secs
%Record data
%graph data
%if user pressed Q
%save all data to a file
break
%
end
确定是否按下了某个键:
key = get(gcf,'CurrentKey');
if(strcmp (key , 'return'))
% Do something
end