Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

h5write

HDF5 데이터셋에 쓰기

구문

h5write(filename,ds,data)
h5write(filename,ds,data,start,count)
h5write(filename,ds,data,start,count,stride)

설명

h5write(filename,ds,data)는 데이터를 지정된 HDF5 파일에 있는 전체 데이터셋 ds에 씁니다. 데이터셋의 크기가 고정된 경우, 쓸 데이터의 양은 데이터셋의 크기와 일치해야 합니다.

h5write(filename,ds,data,start,count)는 시작 위치 start에서 시작하여 count개의 요소만큼 데이터의 서브셋을 데이터셋에 씁니다. 다차원 데이터셋에서 count는 각 방향에서의 거리를 지정합니다. h5write는 필요한 경우 무제한 차원을 따라 확장 가능한 데이터셋을 확장합니다.

h5write(filename,ds,data,start,count,stride)는 데이터셋의 각 차원에서의 요소 간 간격 stride를 지정합니다.

예제

모두 축소

이름이 DS1.인 10x20 데이터셋을 만듭니다.

h5create('myfile.h5','/DS1',[10 20])

데이터셋에 난수로 구성된 10x20 배열을 씁니다. 'DS1'의 차원이 고정되어 있으므로 데이터셋에 쓸 데이터의 양은 데이터셋의 크기와 일치해야 합니다.

mydata = rand(10,20);
h5write('myfile.h5', '/DS1', mydata)

파일의 내용을 표시합니다.

h5disp('myfile.h5')
HDF5 myfile.h5 
Group '/' 
    Dataset 'DS1' 
        Size:  10x20
        MaxSize:  10x20
        Datatype:   H5T_IEEE_F64LE (double)
        ChunkSize:  []
        Filters:  none
        FillValue:  0.000000

이름이 DS2인 10x20 데이터셋을 만듭니다.

h5create('myfile.h5','/DS2',[10 20])

데이터셋의 마지막 5x7 블록에 데이터의 5x7 서브셋을 씁니다. 쓸 데이터의 크기와 일치하도록 count[5 7]로 지정합니다. start[6 14]로 지정합니다. 이 시작 점에서 count개의 셀을 이동하면 데이터셋의 마지막 요소에서 끝나게 됩니다.

mydata = rand(5,7);
h5write('myfile.h5','/DS2',mydata,[6 14],[5 7])

무제한 차원을 갖는 데이터셋에 데이터를 씁니다.

두 번째 차원이 무제한인 데이터셋을 만듭니다. 데이터셋의 임의 차원을 Inf로 설정하려면 ChunkSize를 지정해야 합니다.

h5create('myfile.h5','/g2/DS2',[20 Inf],"Chunksize",[5 5]);

'/g2/DS2'에 3x3 데이터 블록을 씁니다. 시작 점 [3 2]에서 시작하여 블록의 끝까지 씁니다. 데이터셋의 두 번째 차원이 무제한이므로 두 번째 차원을 따라 임의 크기의 데이터를 쓸 수 있습니다.

data = rand(3);
start = [3 2];
count = [3 3];
h5write('myfile.h5','/g2/DS2',data,start,count);

데이터셋에서 모든 데이터를 읽어 들입니다.

h5read('myfile.h5','/g2/DS2')
ans = 20×4

         0         0         0         0
         0         0         0         0
         0    0.8147    0.9134    0.2785
         0    0.9058    0.6324    0.5469
         0    0.1270    0.0975    0.9575
         0         0         0         0
         0         0         0         0
         0         0         0         0
         0         0         0         0
         0         0         0         0
      ⋮

입력 인수

모두 축소

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

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

HDF5 파일에 쓸 데이터입니다. h5create에 대한 호출에서 숫자 데이터형이 지정된 경우, data는 부동소수점 또는 정수 데이터를 포함하는 숫자형 행렬입니다. 데이터는 비희소 형식이어야 하며, start 또는 count를 지정하지 않은 경우 HDF5 데이터셋과 크기가 동일해야 합니다. 데이터셋에 무제한 차원이 있는 경우, 해당 차원을 따라 임의 크기의 데이터를 쓸 수 있습니다.

h5create에 대한 호출에서 'string' 데이터형이 지정된 경우, data는 MATLAB string형 배열입니다. string형 배열 차원은 h5create에 대한 호출에 지정된 차원과 일치해야 합니다.

시작 위치로, 양의 정수로 구성된 숫자형 벡터로 지정됩니다. N차원 데이터셋에 대해 start는 1부터 시작하는 인덱스를 포함하는 길이가 N인 벡터입니다. start의 요소는 순서대로 데이터셋 차원에 대응됩니다.

start를 지정하지 않으면 h5write 함수는 각 차원을 따라 첫 번째 인덱스에서부터 데이터셋을 쓰기 시작합니다.

쓸 요소 개수로, 양의 정수로 구성된 숫자형 벡터로 지정됩니다. N차원 데이터셋에 대해 count는 길이가 N인 벡터로, 데이터셋에 각 차원을 따라 쓸 요소 개수를 지정합니다. count의 요소는 순서대로 데이터셋 차원에 대응됩니다.

데이터셋의 각 차원에서의 요소 간 간격으로, 정수로 구성된 숫자형 벡터로 지정됩니다. N차원 데이터셋에 대해 stride는 길이가 N인 벡터입니다. stride 벡터의 요소는 순서대로 데이터셋 차원에 대응됩니다. 값이 1이면 대응되는 차원에서 요소를 건너뛰지 않고 쓰고, 값이 2이면 하나 걸러 하나의 요소를 쓰는 식입니다.

stride를 지정하지 않으면 h5write 함수는 각 차원을 따라 요소를 건너뛰지 않고 데이터를 씁니다.

호환성 관련 고려 사항

모두 확장

R2020a에서 동작이 변경됨

R2011a에 개발됨