Python에서 사용자 스크립트와 함수 호출하기
이 예제에서는 MATLAB® 스크립트를 호출하여 Python®에서 삼각형의 면적을 계산하는 방법을 보여줍니다.
MATLAB 스크립트 또는 함수를 호출하려면 MATLAB 경로에 해당 항목을 두십시오. 기타 옵션은 Python 경로에 함수 추가하기 항목을 참조하십시오.
이 예제에서는 현재 폴더에서 triarea.m이라는 이름의 파일에 MATLAB 스크립트를 생성합니다.
b = 5; h = 3; a = 0.5*(b.* h)
파일을 저장한 후 Python을 시작하고 스크립트를 호출합니다.
import matlab.engine
eng = matlab.engine.start_matlab()
eng.triarea(nargout=0)
a =
7.5000
nargout=0을 지정합니다. 스크립트가 결과값을 출력하지만 Python으로 출력 인수를 반환하지 않습니다.
스크립트를 함수로 변환하고 엔진에서 함수를 호출하십시오. 파일을 편집하려면 MATLAB 편집기를 엽니다.
eng.edit('triarea',nargout=0)
세 명령문을 삭제합니다. 그런 다음, 함수 선언을 추가하고 파일을 저장합니다.
function a = triarea(b,h)
a = 0.5*(b.* h);엔진에서 새 triarea 함수를 호출합니다.
ret = eng.triarea(1.0,5.0)
print(ret)
2.5
triarea 함수는 출력 인수를 하나만 반환하므로, nargout을 지정할 필요가 없습니다.
Python 경로에 함수 추가하기
MATLAB 함수가 MATLAB 경로에 없으면 현재 폴더에서 이 함수를 호출할 수 있습니다. 예를 들어 폴더 myFolder에서 MATLAB 함수 myFnc를 호출하려면 다음을 입력하십시오.
import matlab.engine
eng = matlab.engine.start_matlab()
eng.cd(r'myFolder', nargout=0)
eng.myFnc()myFnc가 폴더 C:/work/myfiles에 있는 경우 이 폴더를 Python 경로에 추가할 수 있습니다.
eng.addpath("C:/work/myfiles")
모든 하위 폴더의 경로를 추가하려면 다음을 입력하십시오.
s = eng.genpath('C:/work/myfiles')
eng.addpath(s, nargout=0)참고 항목
matlab.engine.MatlabEngine | matlab.engine.FutureResult