HOWTO · Python

Python에서 Matlab mat 파일 읽기

이 튜토리얼은 Python에서 Matlab 매트 파일을 읽고 여는 방법을 보여줍니다.

이 페이지의 내용

MATLAB은 요즘 수치 계산, 통계 분석 및 알고리즘 생성에 널리 사용되는 프로그래밍 플랫폼입니다. 매우 유연한 언어이며 Python과 같은 다른 프로그래밍 언어와 작업을 통합 할 수 있습니다.

MATLAB 작업 공간은 모든 변수와 내용을mat파일에 저장합니다. 이 튜토리얼에서는 Python에서mat파일을 열고 읽는 방법을 배웁니다.

scipy.io모듈을 사용하여 Python에서.mat파일 읽기

scipy.io모듈에는mat파일을 열고 읽을 수있는loadmat()함수가 있습니다. 다음 코드는이 기능을 사용하는 방법을 보여줍니다.

import scipy.io

mat = scipy.io.loadmat("file.mat")

이 방법은 7.3 이하의 MATLAB 버전에서는 작동하지 않습니다. 이를 방지하기 위해 MATLAB에서 아래 명령을 사용하여mat파일을 하위 버전으로 저장할 수 있습니다.

save('test.mat', '-v7')

NumPy모듈을 사용하여 Python에서mat파일 읽기

Python의scipy.io모듈을 사용하여 MATLAB 7.3에서 파일을 열 수없는 방법에 대해서는 앞에서 설명했습니다. 버전 7.3 이상의 파일은 hdf5 데이터 세트이므로NumPy라이브러리를 사용하여 열 수 있습니다. 이 방법이 작동하려면h5py모듈이 설치되어 있어야하며 시스템에 HDF5가 필요합니다.

아래 코드는이 방법을 사용하여mat파일을 읽는 방법을 보여줍니다.

import numpy as np
import h5py

f = h5py.File("somefile.mat", "r")
data = f.get("data/variable1")
data = np.array(data)  # For converting to a NumPy array

mat4py모듈을 사용하여 Python에서mat파일 읽기

이 모듈에는 MATLAB 파일에 데이터를 쓰고 읽을 수있는 함수가 있습니다.

loadmat()함수는 MATLAB 파일을 읽고 목록이나 사전과 같은 기본 Python 구조에 저장하며scipy.ioloadmat()와 유사합니다.

예를 들면

from mat4py import loadmat

data = loadmat("example.mat")

matlab.engine모듈을 사용하여 Python에서mat파일 읽기

이미 MATLAB이있는 사용자는 MathWorks 자체에서 제공하는matlab.engine을 사용할 수 있습니다. 그것은 .mat 파일을 읽고 쓰는 것 이상으로 확장되는 많은 기능을 가지고 있습니다.

다음 코드는이 방법을 사용하여 MATLAB 파일을 읽는 방법을 보여줍니다.

import matlab.engine

eng = matlab.engine.start_matlab()
content = eng.load("example.mat", nargout=1)