我有一个START和STOP按钮。当我点击START时,我在回调中运行了一堆代码。它基本上是一个顺序的“脚本”,打开阀门,分配水然后关闭阀门......没有while()循环,它不重复。我希望能够使用STOP按钮随时停止此过程。我见过的大多数相关答案都是在使用while()循环的情况下。有些人还建议定期检查STOP按钮是否被按下(使用变量或句柄变量)。
由于我没有while循环,我无法解决这个问题。此外,我希望能够立即退出,而无需定期检查(因为在我的代码中多次检查将是丑陋和混乱)。有没有办法终止被STOP按钮中断的回调?如果没有,是否可以让START按钮运行.m文件,然后让STOP按钮终止该.m文件?
最糟糕的情况是定期检查变量。
更新: 好吧,看起来最糟糕的情况是MATLAB建议的...... http://www.mathworks.com/support/solutions/en/data/1-33IK85/index.html?product=ML&solution=1-33IK85
感谢。
答案 0 :(得分:2)
无论是否循环,您都将被迫在代码中插入'checkpoints',程序执行将继续或停止。查看functions,命令return
将在所需的点恢复执行。
您可以选择使用Events and Listeners或The MathWorks提供的解决方案“停止触发”传播的“方法”。