2011-03-17 3 views
0

Matlab의 스크립트에서 외부 명령을 실행해야합니다. 일반적으로이 작업은 system으로 수행되지만 명령이 완료 될 때까지 스크립트 실행이 차단됩니다. 실행을 차단하지 않고 스크립트에서 명령을 실행하는 방법이 있습니까?Matlab 스크립트 - 외부 명령 실행 (논 블로킹)

EDIT : OS는 Windows Server입니다.

답변

2

당신이 과잉 될 수있다 start

system('start notepad.exe'); 
1

당신은

!vi 

예를 들어, 다음 느낌표 (!)가 명령을 사용할 수 있습니다 그리고 그것은

!vi & 

될 것이라고이 프로그램은에 표시됩니다 실행을 차단하지 않고 실행할 수 있도록 별도의 화면으로 이동하고 명령 창으로 돌아가서 MATLAB 언어 문을 계속 실행할 수 있습니다. 스크립트에 대해서도 똑같은 일을하므로 여러분이 사용하기를 원하는 것입니다. 창에

2

이를 사용해야하지만, 전체가 MATLAB의 설치가있는 경우, 당신은 별도의 스레드에서 명령을 실행하는 Parallel Computing toolbox를 사용할 수 있습니다. 실제로 할 아주 쉽게, 기본 구문은 다음과 같습니다

{4}
obj = createJob(); 
set(obj, 'FileDependencies', {<list .m files used here>, 'ExampleFileFunc.m'}); 
task = createTask(obj, @ExampleFileFunc, 1, {4}); 

submit(obj);     

waitForState(task,'finished'); 
varargout = get(task,'OutputArguments'); 

ExampleFileFunc에서 출력의 수입니다.

+0

와우, 그건 마치 머리카락 쪼개기 좋아해요. – eLobato

관련 문제