Matlab:是否可以创建信号处理程序(.m 脚本)



我已经浏览了文档等,但我没有看到任何明显的东西。 我想要一个信号处理程序,可以拦截^C^或其他一些可以用来中断长时间运行的脚本的按键(每个离散计算通常为 <1s)并允许它优雅地退出并保存当前状态。

Matlab 确实有用于 COM 的事件处理程序,但它仅限 windows,我处于 *nix 环境中。

如果答案是"运气不好",我对此很酷......我只是还没有看到任何说我是 SOL 的东西。

MATLAB已经将^C解释为中断。可以使用onCleanup对象来确保正确保留程序状态。即像这样:

function testFcn
x = onCleanup( @() disp('perform cleanup here...') );
for ii=1:1000, disp(ii), pause(1), end

运行上述操作,并在无聊时点击^C。显然,您可以将任何函数句柄挂接到onCleanup对象。另请参阅onCleanup的参考页面。

相关内容

最新更新