Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

h5write

HDF5 데이터셋에 쓰기

설명

예제

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인 10×20 데이터셋을 만듭니다.

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

데이터셋에 난수로 구성된 10×20 배열을 씁니다. 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인 10×20 데이터셋을 만듭니다.

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

데이터셋의 마지막 5×7 블록에 데이터의 5×7 서브셋을 씁니다. 쓸 데이터의 크기와 일치하도록 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"에 3×3 데이터 블록을 씁니다. 시작 점 [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형 스칼라 또는 문자형 벡터로 지정됩니다.

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

위치

형식

현재 폴더

현재 폴더에 쓰려면 filename에 파일의 이름을 지정하십시오.

예: "myFile.h5"

다른 폴더

현재 폴더가 아닌 다른 폴더에 쓰려면 filename에 전체 경로 또는 상대 경로 이름을 지정하십시오.

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

예: "myFolder\myFile.h5"

원격 위치

원격 위치에 쓰려면 filename이 다음 형식과 같이 URL(Uniform Resource Locator)로 지정된 파일의 전체 경로를 포함해야 합니다.

scheme_name://path_to_file/my_file.ext

원격 위치에 따라 scheme_name은 다음 표에 있는 값 중 하나가 될 수 있습니다.

원격 위치scheme_name
Amazon S3™s3
Windows Azure® Blob Storagewasb, wasbs

자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오.

예: "s3://bucketname/path_to_file/myFile.h5"

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

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

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

시작 위치로, 양의 정수로 구성된 숫자형 벡터로 지정됩니다. n차원 데이터셋에 대해 start는 1부터 시작하는 인덱스를 포함하는 길이가 n인 벡터입니다. start의 요소는 순서대로 데이터셋 차원에 대응됩니다. ds의 차원 중 하나라도 무제한이면 start를 지정해야 합니다.

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

쓸 요소 개수로, 양의 정수로 구성된 숫자형 벡터로 지정됩니다. n차원 데이터셋에 대해 count는 길이가 n인 벡터로, 데이터셋에 각 차원을 따라 쓸 요소 개수를 지정합니다. count의 요소는 순서대로 데이터셋 차원에 대응됩니다. ds의 차원 중 하나라도 무제한이면 count를 지정해야 합니다.

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

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

제한 사항

  • h5write는 HDFS™에 원격으로 저장된 파일에 대한 쓰기를 지원하지 않습니다.

버전 내역

R2011a에 개발됨

모두 확장

참고 항목

| | |

도움말 항목