MAT 파일 버전
MAT 파일 버전 개요
MAT 파일은 작업 공간 변수를 저장하는 이진 MATLAB® 파일입니다. MAT 파일 버전 4부터 여러 후속 MAT 파일 버전 등 MAT 파일에는 여러 버전이 있으며 버전이 높을수록 더 많은 기능을 지원합니다. MATLAB 릴리스 R2006b부터는 모든 MAT 파일 버전을 지원합니다.
기본적으로, 모든 저장 작업은 버전 7 MAT 파일을 생성합니다. 유일한 예외는 matfile
함수를 사용하여 새 MAT 파일을 생성하는 경우입니다. 이 경우 디폴트 MAT 파일 버전은 7.3입니다.
디폴트 MAT 파일 버전을 식별하거나 변경하려면 다음과 같이 MAT 파일 기본 설정에 액세스하십시오.
홈 탭의 환경 섹션에서 기본 설정을 클릭합니다.
MATLAB > 일반 > MAT 파일을 선택합니다.
기본 설정은 save
함수와 저장 메뉴 옵션에 모두 적용됩니다.
MAT 파일의 최대 크기는 네이티브 파일 시스템에 의해서만 제한됩니다.
다음 표에는 모든 MAT 파일 버전이 비교 설명되어 있습니다.
MAT 파일 버전 | 지원 MATLAB 릴리스 | 지원되는 기능 | 압축 | 각 변수의 최대 크기 | save 함수의 version 인수 값 | 기본 설정 옵션 |
---|---|---|---|---|---|---|
버전 7.3 | R2006b(버전 7.3) 이상 | 변수의 일부 저장 및 불러오기, 버전 7의 모든 기능 | 예(디폴트 값) | ≥ 2GB(64비트 컴퓨터) | '-v7.3' | MATLAB 버전 7.3 이상 (save -v7.3) |
버전 7 | R14(버전 7.0) 이상 | Unicode® 문자 인코딩(서로 다른 디폴트 문자 인코딩 체계를 사용하는 시스템 간에 파일 공유를 가능하게 함), 버전 6의 모든 기능. | 예(디폴트 값) | 변수당 2^31바이트 | '-v7' | MATLAB 버전 7 이상 (save -v7) |
버전 6 | R8(버전 5) 이상 | N차원 배열, 셀형 배열, 구조체형 배열, 19자보다 긴 변수 이름, 버전 4의 모든 기능. | 아니요 | 변수당 2^31바이트 | '-v6' | MATLAB 버전 5 이상 (save -v6) |
버전 4 | 모든 버전 | 2차원 | 아니요 | 배열당 100,000,000개 요소, 변수당 2^31바이트 | '-v4' | n/a |
참고
버전 7.3 MAT 파일은 파일의 내용을 설명하는 데 일부 오버헤드 저장 공간을 필요로 하는 HDF5 기반 형식을 사용합니다. 셀형 배열, 구조체형 배열 또는 이종 데이터형을 저장할 수 있는 기타 컨테이너의 경우, 버전 7.3 MAT 파일이 버전 7 MAT 파일보다 클 수 있습니다.
디폴트가 아닌 MAT 파일 버전에 저장하기
다음과 같은 경우 디폴트 버전이 아닌 MAT 파일 버전에 저장하십시오.
이전의 MATLAB 버전을 사용하여 파일에 대한 액세스를 허용하려는 경우.
버전 7.3 MAT 파일 기능을 활용하려는 경우.
압축되지 않은 데이터를 저장하여 일부 파일을 불러오고 저장하는 데 필요한 시간을 단축시키려는 경우.
압축된 데이터를 저장하여 일부 파일의 크기를 줄이려는 경우.
디폴트 버전이 아닌 MAT 파일 버전으로 저장하려면 version
을 save
함수에 대한 마지막 입력값으로 지정하십시오. 예를 들어, myfile.mat
라는 버전 6 MAT 파일을 생성하려면 다음을 입력하십시오.
save('myfile.mat','-v6')
데이터 압축
MATLAB 버전 7부터는 저장 공간을 절약하기 위해, MAT 파일을 쓸 때 데이터가 압축됩니다. 데이터를 압축하고 압축 해제할 경우 모든 저장 작업과 일부 불러오기 작업의 속도가 느려집니다. 대부분의 경우, 이처럼 추가적인 시간이 걸리더라도 파일 크기를 줄이는 것이 좋습니다.
경우에 따라, 압축된 데이터를 불러오는 경우 압축되지 않은 데이터를 불러올 때보다 실제로 속도가 더 빠를 수 있습니다. 예를 들어, 압축된 10MB의 파일과 압축되지 않은 100MB의 파일 양쪽 모두에 저장되어 있는 숫자형 배열의 데이터 블록을 생각해 보겠습니다. 각 파일에서 처음 10MB의 데이터를 불러오는 데 걸리는 시간은 똑같습니다. 그러나 압축되지 않은 파일에 남아 있는 90MB의 데이터를 불러오려면 처음 10MB를 불러오는 시간의 9배에 달하는 시간이 걸립니다. 이에 비해 압축 파일의 불러오기를 완료하는 과정에서 데이터 압축을 해제하는 데 걸리는 시간은 상대적으로 짧습니다.
다음과 같은 경우에는 데이터 압축에 따른 이점이 크지 않습니다.
컨테이너의 복잡성에 비해 각 항목의 데이터 양이 적은 경우. 예를 들어, 간단한 숫자형 배열은 같은 크기의 셀형 배열이나 구조체형 배열에 비해 압축하고 압축 해제하는 데 시간이 덜 걸립니다. 압축되지 않은 파일의 크기가 3MB 미만인 배열의 경우, 네트워크를 통해 데이터를 전송하지 않는 한 압축을 통한 이점은 제한적입니다.
반복되는 패턴이나 일관된 값 없이 데이터가 임의적인 경우.
버전 7.3 MAT 파일에 대한 저장 및 불러오기 작업 가속화하기
버전 7.3 MAT 파일은 데이터를 압축된 청크로 저장하는 HDF5 기반 형식을 사용합니다. 버전 7.3 MAT 파일에서 변수의 일부를 불러오는 데 필요한 시간은 그 데이터가 하나 이상의 청크에 저장되는 방법에 따라 달라집니다. 데이터에 액세스할 수 있으려면 불러오려는 데이터가 일부라도 포함되어 있는 각 청크의 압축이 완전히 해제되어야 합니다. 데이터를 다시 청크화하면 불러오기 작업의 성능을 개선할 수 있습니다. 데이터를 다시 청크화하려면 HDF5 배포 시 함께 제공되는 HDF5 명령줄 툴을 사용하십시오.