2010-01-12 6 views
0

명령 창과 상호 작용하지 않고 MATLAB에서 작업 디렉토리를 변경할 수 있어야합니다. Java 응용 프로그램에서 MATLAB을 시작합니다. 지금 당장 제시 한 유일한 해결책은 MATLAB을 닫고 JAVA에서 디렉토리를 변경 한 다음 다시 실행하는 것입니다. JAVA에서 'cd'명령을 MATLAB에 보내는 유선형 방법이 있습니까? getRuntime()을 사용할 수 있기 때문에 명령 행에서 작업해도됩니다. exec (command)터미널/JAVA에서 MATLAB의 디렉토리 변경

고마워요!

+0

잘 모르겠지만 Matlab GUI와 상호 작용할 수있는 영리한 방법을 많이 보여주는 문서화되지 않은 Matlab (Google for it)을 살펴 보자. Java 응용 프로그램이라고 생각한다. 그게 너에게 단서를 줄 수도있어. –

+0

matlab를 시작하거나 기존 인스턴스와 상호 작용하고 있습니까? 그것은 다양한 방법을 사용하여 시작 디렉토리를 제어 할 수 있습니다 : http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_env/f8-10506.html –

+0

의견 주셔서 감사! 기존 인스턴스와 상호 작용하고 싶습니다. 시작 디렉토리를 지정하면 나에게 맞는 것입니다. –

답변

3

Matlab과 동일한 JVM을 사용하는 경우 JMI를 사용하여이 작업을 수행 할 수 있습니다 (그다지 잘 모른다면). 이에 대한 온라인 정보는 많지 않습니다 (문서화되지 않았거나 지원되지 않음) WAY입니다. Google 또는 이것을 읽으십시오 : http://www.cs.virginia.edu/~whitehouse/matlab/JavaMatlab.html. 즉, Matlab의 관련 JAR 파일을 포함시킨 다음 com.mathworks.jmi.Matlab의 기능을 사용해야합니다. 예를 들어 :

Matlab.evalConsoleOutput("cd('C:\Program Files\')");

Yair 알트만 http://UndocumentedMatlab.com

2

나는 원래의 질문을 게시 스티븐 Poletto와 함께 일하고 있습니다. 우리가 필요로하는 기존 솔루션이 없었기 때문에 Yair가 언급 한 Kamin Whitehouse의 작업에 기반한 자체 솔루션을 작성했습니다. 모든 사용자가 matlabcontrol.googlecode.com에서 사용할 수 있습니다.

MATLAB 외부에서 시작된 Java 프로그램에서 MATLAB을 제어 할 수 있습니다.