치트시트

MATLAB에서 Python 호출하기

본 참고 자료는 흔한 활용 사례를 다루며, 모든 내용을 포괄하지는 않습니다. 

MATLAB으로 Python을 강화하세요

MATLAB의 고급 툴을 여러분의 Python 워크플로에 직접 통합할 수 있습니다.

설정

요구사항

MATLAB에서 Python®을 호출하려면 시스템에 MATLAB과 Python이 모두 설치되어 있어야 합니다.

구성

Python 인터프리터의 설정 및 상태에 액세스합니다.

>> pe = pyenv 

어떤 버전을 사용할지 지정합니다.

>> pe = pyenv("Version","3.9") 

PYTHONHOME 환경 변수가 사용자의 Python 버전과 일치하는지 확인합니다. MATLAB에서 이 값을 보려면 다음과 같이 입력합니다.

>> getenv("PYTHONHOME") 

시스템 경로에 적절한 버전이 있는지 확인합니다.

>> getenv("PATH")

MATLAB에서 Python 코드 실행

라이브 편집기 작업

Python 코드 실행 작업을 통해 Python 코드나 파일을 대화형 방식으로 실행한 다음 코드를 생성할 수 있습니다.

Python 명령문 호출

몇 줄의 코드를 실행하려면 다음과 같이 입력합니다.

>> outvars = pyrun(code,outputs) 
>> x = pyrun("a = b*c","a", b = 5, c = 10)

Python 스크립트 호출

스크립트로 정리된 코드를 실행하려면 다음과 같이 입력합니다.

>> outvars = pyrunfile(file,outputs) 

Python 모듈 및 함수 호출

>> py.module_name.function_name 
>> x = py.math.sqrt(42) 

키워드 인수 전달

직접 호출하거나 pyargs를 사용합니다.

>>> foo(5,bar=42) 
>> py.foo(5,bar=42) 
>> py.foo(5,pyargs('bar',42)) 

모듈 다시 불러오기

업데이트 후에 모듈을 다시 불러옵니다.

>> py.importlib.reload(module)

데이터형 변환

데이터형은 가능한 경우 자동으로 변환됩니다.

MATLAB Python
double, single float
complex single
complex double
complex
(u)int8, (u)int16, (u)int32, (u)int64 int
NaN float(nan)
inf float(inf)
string, char str
logical bool
dictionary dict
struct dict
table py.pandas.dataframe
datetime py.datetime.datetime
duration py.datetime.timedelta

데이터 사이언스 라이브러리

Apache Parquet

Apache® Parquet을 사용해 데이터를 효율적으로 전송할 수 있습니다.

MATLAB에서:

>> tbl = parquetread(fname)
>> parquetwrite(tbl,fname) 

Python에서:

>>> df = pandas.read_parquet(fname)
>>> pandas.Dataframe.to_parquet(df)

딥러닝

TensorFlow, PyTorch®, ONNX에 대한 가져오기 툴로 MATLAB에서 모델을 이용할 수 있습니다.

>> net = importKerasNetwork(model)

Python 및 Simulink의 통합

Python 가져오기를 사용해 Python 모듈과 패키지를 Simulink로 가져올 수 있습니다.

가져오기 툴 열기: 

>> obj = Simulink. PythonImporter(); 
>> obj.view(); 

MATLAB Function 블록 및 MATLAB System 블록

MATLAB Function 블록 또는 MATLAB System 블록을 사용해 Simulink에서 Python 모듈을 구현할 수 있습니다.