2012-12-18 3 views
3

저는 일련의 이미지를 캡처 한 다음 MATLAB에서 일부 처리를 수행하는 의료용 로봇 프로젝트에 참여하고 있습니다. 다른 많은 것들이 MATLAB 외부에서 수행되어야하므로, 전체 제어에 다른 언어를 사용하고 콘솔 명령을 사용하여 다른 부분을 트리거합니다.명령 줄에서 텍스트 입력을받는 Matlab 함수를 어떻게 호출합니까?

나는 이미지가있는 디렉토리로 파일 경로를 가져 오는 단일 함수로 하나의 .m 파일을 가지고 있으며 모든 MATLAB 처리를 수행합니다. 명령 줄에서 어떻게 호출 할 수 있습니까? 나는 matlab -r "function(input)"이 다른 답변에서 논의 된 것을 보았지만, 나를 위해 작동하지 않는다. (열린 괄호에서 구문 오류가 발생한다.) 더 구체적으로, 나는 matlab: eval: line 1690: syntax error near unexpected token '('을 얻는다.

쉘 스크립트 (어떻게 작성해야할지 모르겠다)를 호출하여이 작업을 수행해야한다고 말하는 사람들이 있었지만, 다른 사람이 그 작업을 할 수 없다고 말하면 누구나 명확하게 설명 할 수 있습니까?

또한 matlab -r 구문을 사용했다고 가정하면 MATLAB은 .m 파일의 위치를 ​​어떻게 알 수 있습니까? 명령을 실행중인 디렉토리에 있어야합니까? ... 비슷한

bash: syntax error near unexpected token `(' 

또는 뭔가를

matlab -r test('hi') 

및 방법 :

답변

3

내가 추측하고 당신이하려고?

답변 : 당신은 즉, function(input) 주위 " "를 사용해야합니다 :

matlab -r "test('hi')" 

이 입력 문자열 'hi' 내 현재의 디렉토리에 test.m를 실행합니다.

는 말 bash에, runmatlabcommand.sh라는 이름의 쉘 스크립트에서이 작업을 수행하려면, 당신은 단지 파일을 열고 쓸 수 있습니다 :

#!/bin/bash 
matlab -r "test('hi')" 

을 다음 ./runmatlabcommand.sh을 입력하여 명령 행에서이 스크립트를 실행합니다. 스크립트를 실행하기 전에 실행 권한이 있는지 확인하십시오.)

+0

아, 실제로 질문에 오타를 입력하십시오. 필자는 설명대로 따옴표를 사용하여'matlab -r "function (input)"'을하고있었습니다. 입력 주위에 아포스트로피가 필요합니까? –

+0

@Oblivious Sage'input'이 문자열 일 때만. – dinkelk

+0

@Oblivious Sage 스크립트가 현재 디렉토리에 있습니까? – dinkelk

관련 문제