是否有命令停止程序并仍然保存数据?

时间:2014-07-14 13:16:13

标签: matlab save quit

我正在进行一项实验,我会谈论数据,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

1 个答案:

答案 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