2013-03-19 4 views
2

에 매개 변수를 사용하여 MATLAB 사용자 정의 스크립트를 실행하는 방법 내가 이전 작업 공간에로드 변수를 몇 가지 작업을 수행 할 매트랩 기능을했습니다. 예에서 :작업 공간

do_something(A, B, C, ...); 

나는 A, B, C ...의 다른 부분 집합으로 함수를 MATLAB에서 n 번 실행합니다. 출력은 C++ 프로그램으로 추가 처리를 위해 ASCII으로 저장됩니다.

나는 전체 과정을 시간이 싶습니다. 그래서 C++ 프로그램이 뒤 따르는 쉘 스크립트에서 MATLAB 함수를 실행하려고 생각했습니다. 예 :

matlab -nojvm -nodesktop -nosplash -r "run matlabTest"; ./c++Test; 

그러나 MATLAB 함수에는 이전에로드되지 않은 변수가 필요하다는 것을 알았습니다. 그래서, 내 질문은 작업 영역에있는 매개 변수를 사용하여 MATLAB 함수를 실행하는 방법? . 작업 영역은 동일한 디렉토리에 저장됩니다.

내가 MATLAB 7.9.0 (는 R2009b)와 리눅스에서 일하고 있어요.

내가 나타났습니다 (읽는 동안 /이 질문에 검토) 나는 system 기능을 사용하여 MATLAB에서 리눅스 명령을 실행할 수 있습니다. 나는이 작업을 성공적으로 마쳤지 만 다른 방법을 수행하는 방법에 대해서는 의문의 여지가 없습니다.

답변

4

는 여러 MATLAB은 ;로 구분 따옴표, 내 명령을 포함 할 수 있습니다. 시도해 볼 수 있습니다

matlab -nojvm -nodesktop -nosplash -r "mydata = 1; run matlabTest"; ./c++Test; 

예를 들어. 당신은 많은 변수를 필요로하고이 긴 또는 불편하게되면, 아마 당신은 (mydata.mat를 말)을 .mat 파일로 떨어져 작업 공간 변수를 저장할 수 있으며, 다음에서 그들을로드 : 당신은 run 필요하지 않습니다

matlab -nojvm -nodesktop -nosplash -r "load mydata; run matlabTest"; ./c++Test; 

PS 방금 matlabTest으로 전화하십시오. 나를 위해, nohup을 사용하여 우분투 배경에서 다음 명령 작품 (매개 변수) MATLAB 스크립트를 실행하기 위해

0

:

nohup matlab -nodisplay -nosplash -nojvm -nodesktop -r "demCF datasetName 1 10 1000 0" 2>&1 > demCF_datasetName_100.out &