Main Content

Python에서 MATLAB 배열 사용하기

이 예제에서는 Python®에서 MATLAB® 배열을 만들고 이 배열을 MATLAB sqrt 함수에 입력 인수로 전달하는 방법을 보여줍니다.

matlab 패키지는 Python에서 MATLAB 배열을 만들기 위한 생성자를 제공합니다. Python용 MATLAB Engine API는 이러한 배열을 MATLAB 함수에 입력 인수로 전달하고, Python에 출력 인수로 반환할 수 있습니다. Python 시퀀스 유형에서 MATLAB 숫자형 또는 논리형 배열을 만들 수 있습니다.

Python list에서 MATLAB 배열을 만듭니다. 배열에 대해 sqrt 함수를 호출합니다.

import matlab.engine
eng = matlab.engine.start_matlab()
a = matlab.double([1,4,9,16,25])
b = eng.sqrt(a)
print(b)
[[1.0,2.0,3.0,4.0,5.0]]

엔진은 1×5 matlab.double 배열인 b를 반환합니다.

다차원 배열을 만듭니다. magic 함수는 2차원 matlab.double 배열을 Python에 반환합니다. for 루프를 사용하여 각 행을 개별 라인에 출력합니다. (... 프롬프트가 나타나면 Enter 키를 다시 눌러 루프를 닫고 출력합니다.)

a = eng.magic(6)
for x in a: print(x)
... 
[35.0,1.0,6.0,26.0,19.0,24.0]
[3.0,32.0,7.0,21.0,23.0,25.0]
[31.0,9.0,2.0,22.0,27.0,20.0]
[8.0,28.0,33.0,17.0,10.0,15.0]
[30.0,5.0,34.0,12.0,14.0,16.0]
[4.0,36.0,29.0,13.0,18.0,11.0]

tril 함수를 호출하여 a의 하부 삼각 부분을 가져옵니다. 각 행을 개별 라인에 출력합니다.

b = eng.tril(a)
for x in b: print(x)
... 
[35.0,0.0,0.0,0.0,0.0,0.0]
[3.0,32.0,0.0,0.0,0.0,0.0]
[31.0,9.0,2.0,0.0,0.0,0.0]
[8.0,28.0,33.0,17.0,0.0,0.0]
[30.0,5.0,34.0,12.0,14.0,0.0]
[4.0,36.0,29.0,13.0,18.0,11.0]

관련 예제

세부 정보