주요 콘텐츠

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)

참고 항목

|

도움말 항목