Main Content

hdf5write

(권장되지 않음) HDF5 형식으로 파일에 데이터 쓰기

hdf5write는 권장되지 않습니다. h5write를 대신 사용하십시오.

설명

hdf5write(filename,loc,ds)filename으로 지정된 HDF5 파일에 데이터 ds를 씁니다. filename이 존재하지 않는 경우 hdf5write가 파일을 생성합니다. filename이 있으면 hdf5write는 기본적으로 이 파일의 기존 데이터를 덮어씁니다. 선택적 이름-값 인수를 사용하여 기존 파일에 데이터를 추가할 수 있습니다.

hdf5write(filename,details1,ds1,details2,ds2,...details,ds)는 하나 이상의 입력 구조체의 값을 사용하여 하나 이상의 데이터셋 dsfilename에 씁니다.

hdf5write(filename,details,attr)details의 값을 사용하여 메타데이터 attrfilename에 씁니다.

hdf5write(___,Name,Value)는 위에 열거된 구문의 입력 인수 외에 선택적 이름-값 인수를 지정합니다.

입력 인수

모두 축소

파일 이름으로, HDF5 파일의 이름을 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

쓰려는 위치에 따라 filename은 다음 형식 중 하나가 될 수 있습니다.

위치

형식

현재 폴더

filename에 파일의 이름을 지정합니다.

예: 'myFile.h5'

다른 폴더

파일이 현재 폴더나 MATLAB® 경로의 폴더에 없는 경우, filename에 전체 경로 또는 상대 경로 이름을 지정합니다.

예: 'C:\myFolder\myFile.h5'

예: 'myFolder\myFile.h5'

파일에서의 위치로, 데이터가 작성되는 데이터셋 또는 그룹의 전체 경로 이름을 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

데이터를 HDF5 파일에 쓸 때 hdf5write에 사용되는 입력 구조체로, 하나 이상의 구조체형 배열로 지정됩니다. details 구조체는 파일에 데이터셋을 썼는지 아니면 특성을 썼는지에 따라 필드가 서로 다를 수 있습니다.

데이터셋의 경우 details의 필드는 다음과 같습니다.

  • Location — 데이터를 쓸 그룹 또는 데이터셋의 전체 경로 이름을 포함하는 문자형 벡터 또는 string형 스칼라.

  • Name — 입력 데이터셋에 할당할 이름을 포함하는 문자형 벡터 또는 string형 스칼라.

특성의 경우 details의 필드는 다음과 같습니다.

  • AttachedTo — 입력 특성이 수정하는 객체의 위치를 포함하는 구조체형 배열.

  • AttachType — 입력 특성이 수정하는 객체 유형으로, 'group' 또는 'dataset'으로 지정됩니다.

  • Name — 입력 특성에 할당할 이름을 포함하는 문자형 벡터 또는 string형 스칼라.

HDF5 파일에 쓸 입력 데이터로, 다음 중 하나 이상으로 지정됩니다.

  • 숫자형 배열

  • 문자형 벡터

  • string형 스칼라

  • 문자형 벡터로 구성된 셀형 배열

  • string형 배열

  • 숫자형 데이터로 구성된 셀형 배열

  • 구조체형 배열

  • HDF5 객체.

특성 이름으로, 그룹 또는 데이터셋에 속하는 특성의 이름을 포함하는 문자형 벡터 또는 string형 스칼라로 지정됩니다.

이름-값 인수

선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN으로 지정합니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.

R2021a 이전 릴리스에서는 쉼표를 사용하여 각 이름과 값을 구분하고 Name을 따옴표로 묶으십시오.

예: 'WriteMode','append'는 데이터를 기존 HDF5 파일에 추가합니다.

MATLAB 7.1 이하 릴리스와의 호환성으로, 'V71Dimensions'와 함께 true 또는 false가 쉼표로 구분되어 지정됩니다. true를 지정할 경우, hdf5write는 데이터셋의 처음 두 차원을 교환하여 파일에 기록된 데이터셋의 차원 순서를 hdf5write의 이전 버전(MATLAB 7.1 [R14SP3] 이하)과 일치하도록 만듭니다.

'V71Dimensions'의 디폴트 값은 false입니다. 이 값은 출력 데이터 차원의 순서를 변경하지 않습니다.

HDF5는 행 우선(Row-major) 순서로 데이터셋의 차원을 설명하는 반면, MATLAB은 데이터를 열 우선(Column-major) 순서로 저장합니다. 하지만 이러한 차원의 치환은 데이터의 의도를 올바르게 반영하지 않을 수 있으며, 메타데이터를 무효화할 수 있습니다. 파일에 기록된 데이터는 데이터셋의 데이터 순서를 올바르게 반영합니다. 즉, 출력 데이터셋의 각 차원이 대응하는 MATLAB 변수의 동일한 차원과 일치합니다.

예: 'V71Dimensions',true

쓰기 모드로, 'WriteMode'와 함께 문자형 벡터 또는 string형 스칼라가 쉼표로 구분되어 지정됩니다. 'WriteMode'를 다음 값 중 하나로 지정합니다.

  • 'overwrite'(디폴트) — 파일을 덮어씁니다.

  • 'append' — 데이터를 기존 HDF5 파일에 추가합니다.

예: 'WriteMode','append'

예제

모두 축소

myfile.h5, myfile2.h5, myfile3.h5 이름의 서로 다른 HDF5 파일 3개에 데이터를 씁니다.

파일 myfile.h5의 루트 그룹에 uint8형 값으로 구성된 5×5 데이터셋을 씁니다.

hdf5write('myfile.h5','/dataset1',uint8(magic(5)))

텍스트 항목으로 구성된 2×2 데이터셋을 파일 myfile2.h5의 서브그룹에 씁니다.

dataset = {'north','south';'east','west'};
hdf5write('myfile2.h5','/group1/dataset1.1',dataset);

myfile2.h5의 기존 그룹에 데이터셋과 특성을 씁니다.

dset = single(rand(10,10));
dset_details.Location = '/group1/dataset1.2';
dset_details.Name = 'Random';

attr = 'Some random data';
attr_details.Name = 'Description';
attr_details.AttachedTo = '/group1/dataset1.2/Random';
attr_details.AttachType = 'dataset';

hdf5write('myfile2.h5',dset_details,dset,...
           attr_details,attr,'WriteMode','append');

객체를 사용하여 파일 myfile3.h5에 데이터셋을 씁니다.

dset = hdf5.h5array(magic(5));
hdf5write('myfile3.h5','/g1/objects',dset);

세부 정보

모두 축소

데이터형 매핑

아래 표는 hdf5write가 데이터형을 작업 공간에서 HDF5 파일로 매핑하는 방법을 보여줍니다. 파일에 기록되는 작업 공간의 데이터가 MATLAB 데이터형인 경우 hdf5write는 MATLAB 데이터를 HDF5 데이터 객체로 매핑할 때 다음 규칙을 사용합니다.

MATLAB 데이터형

HDF5 데이터셋 또는 특성

숫자형

대응하는 HDF5 네이티브 데이터형입니다. 예를 들어, 작업 공간 데이터형이 uint8인 경우 hdf5write 함수는 데이터를 8비트 정수로 파일에 씁니다. HDF5 데이터스페이스의 크기는 MATLAB 배열의 크기와 동일합니다.

문자형 벡터 또는 string형 스칼라

단일, null 종료 문자열.

문자형 벡터로 구성된 셀형 배열 또는 string형 배열

각각의 길이가 같으며, 모두 null로 종료되는 여러 문자열입니다. 길이는 셀형 배열의 가장 긴 문자열 길이로 결정됩니다. HDF5 데이터스페이스의 크기는 셀형 배열의 크기와 동일합니다.

숫자형 데이터로 구성된 셀형 배열

셀형 배열과 동일한 차원의 숫자형 배열입니다. 배열의 요소는 크기와 형식이 모두 동일해야 합니다. 데이터형은 셀형 배열의 첫 번째 요소에 의해 결정됩니다.

구조체형 배열

HDF5 Compound 형식입니다. 구조체의 개별 필드는 개별 데이터형에 동일한 데이터 변환 규칙을 사용합니다. 예를 들어, 문자열로 구성된 셀형 배열은 여러 개의 null 종료 문자열이 됩니다.

HDF5 객체

파일에 기록되는 데이터가 HDF5 객체로 구성된 경우 hdf5write는 파일에 기록을 할 때 동일한 데이터형을 사용합니다. HDF5.h5enum 객체를 제외한 모든 HDF5 객체의 경우 데이터스페이스는 함수에 전달된 HDF5 객체로 구성된 배열과 동일한 차원을 가집니다. HDF5.h5enum 객체의 경우 HDF5 파일 데이터셋의 크기와 차원은 객체의 Data 필드와 동일합니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

| |