2014-10-30 1 views
0

저는 MATLAB R2014b을 사용하고 있습니다. parallel computing을 사용하여 루프가있는 GUI을 디자인했습니다. 먼저 GUI에 루프 수를 설정하면 프로그램이 시작됩니다. 프로세스 중간에 프로그램을 중단하고 싶다고 가정 해보십시오. MATLAB을 중지하려면 CONTROL+C을 눌러야합니다. 내가 그것을 중지하고 루프에서 함수를 호출 버튼을 넣어하지만 내 프로그램이 실행 중일 때 작동하지 않습니다. 내 프로그램이 실행 중일 때이 버튼에 응답하지 않습니다.코드가 실행 중일 때 MATLAB GUI가 응답하지 않습니다

이 문제를 어떻게 해결할 수 있습니까?

감사합니다.

답변

1

"병렬 컴퓨팅"은 코드 실행이 parfor 루프에서 실행되고 있음을 의미합니다. parfor 루프는 다른 MATLAB 명령을 실행할 수 없도록하는 동기식 구조입니다. GUI를 통한 대화식 사용을 허용하려면 대신 parfeval을 사용해야합니다. This example은 병렬 처리를 일찍 종료하는 방법을 보여줍니다.

parfeval을 사용할 때 염두에 두어야 할 점은 호출 할 때마다 호출하는 것이 원격 호출이므로 문제를 "현명한"크기의 덩어리로 나눌 필요가 있다는 것입니다.