주요 콘텐츠

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);

세부 정보

모두 축소

버전 내역

R2006a 이전에 개발됨

참고 항목

| |