Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

Python에서 MATLAB 함수 호출하기

MATLAB® 경로에서 MATLAB 함수를 호출하려면 Python®용 MATLAB Engine API를 사용하십시오.

MATLAB 함수가 경로에 없으면 현재 폴더에서 이 함수를 호출할 수 있습니다. 예를 들어 폴더 myFolder에서 MATLAB 함수 myFnc를 호출하려면 다음을 입력하십시오.

import matlab.engine
eng = matlab.engine.start_matlab()
eng.cd(r'myFolder', nargout=0)
eng.myFnc()

MATLAB 함수에서 출력 인수 반환하기

어떤 MATLAB 함수든 직접 호출하고 그 결과를 Python으로 반환할 수 있습니다. 예를 들어, 어떤 숫자가 소수인지 여부를 결정하려면 엔진을 사용해 isprime 함수를 호출하십시오.

import matlab.engine
eng = matlab.engine.start_matlab()
tf = eng.isprime(37)
print(tf)
True

MATLAB 함수에서 여러 개의 출력 인수 반환하기

엔진으로 함수를 호출하면 엔진은 기본적으로 단일 출력 인수를 반환합니다. 함수가 여러 인수를 반환할 수 있다는 사실을 알고 있다면 nargout 인수를 사용하여 출력 인수의 개수를 지정하십시오.

두 숫자의 최대공약수를 결정하려면 gcd 함수를 사용하십시오. gcd에서 세 개의 출력 인수를 반환하도록 nargout을 설정하십시오.

import matlab.engine
eng = matlab.engine.start_matlab()
t = eng.gcd(100.0,80.0,nargout=3)
print(t)
(20.0, 1.0, -1.0)

출력 인수를 반환하지 않는 MATLAB 함수

일부 MATLAB 함수는 출력 인수를 반환하지 않습니다. 함수에서 인수를 반환하지 않을 경우 nargout을 0으로 설정하십시오.

Python에서 MATLAB 도움말 브라우저를 엽니다.

import matlab.engine
eng = matlab.engine.start_matlab()
eng.doc(nargout=0)

MATLAB doc 함수는 브라우저를 열지만 출력 인수를 반환하지는 않습니다. nargout=0을 지정하지 않으면 엔진이 오류를 발생시킵니다.

함수 실행 중지하기

MATLAB 함수의 실행을 중지하려면 Ctrl+C를 누르십시오. 제어가 Python으로 돌아옵니다.

MATLAB 연산자에 대한 함수 이름 사용하기

대응하는 함수를 호출하여 Python에 MATLAB 연산자를 사용할 수 있습니다. 연산자 및 연결된 함수 이름의 목록은 MATLAB 연산자 및 관련 함수 항목을 참조하십시오. 예를 들어, 두 개의 숫자를 추가하려면 + 연산자 대신 plus 함수를 사용하십시오.

import matlab.engine
eng = matlab.engine.start_matlab()
a = 2
b = 3
eng.plus(a,b) 

참고 항목

|

관련 항목