2014-10-30 67 views
0

我正在使用MATLAB R2014b。我设计了一个GUI,它有一个使用parallel computing的循环。首先,我将在这个GUI中设置循环的数量,我的程序将开始。假设我想在流程中间停止该程序。我应该按CONTROL+C停止MATLAB。我放了一个按钮来停止它并在循环中调用一个函数,但是当我的程序运行时它不起作用。当我的程序运行时,这些按钮没有响应这个按钮。当我的代码正在运行时,MATLAB GUI不响应

我该如何解决这个问题?

谢谢。

回答

1

我推测,“并行计算”表示您的代码正在运行,正在运行在parfor循环中。 parfor循环是一个同步构造,它不允许任何其他MATLAB命令执行。如果您希望允许通过GUI交互使用,则需要使用parfevalThis example显示了如何尽早终止并行处理。

使用parfeval时需要注意的一件事是,您对此所做的每个调用都是远程调用,因此您需要将问题划分为“合理”大小的块。

相关问题