h5write
HDF5 데이터셋에 데이터 쓰기
구문
설명
예제
이름이 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
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
0 0 0 0
⋮
입력 인수
기존 HDF5 파일의 파일 이름으로, string형 스칼라 또는 문자형 벡터로 지정됩니다.
파일의 위치에 따라 filename
은 다음 형식 중 하나가 될 수 있습니다.
위치 | 형식 | ||||||
---|---|---|---|---|---|---|---|
현재 폴더 또는 MATLAB® 경로의 폴더 | 파일이 현재 폴더 또는 MATLAB 경로의 폴더에 있는 경우, 예: | ||||||
다른 폴더 | 파일이 현재 폴더나 MATLAB 경로의 폴더에 모두 없는 경우, 예: 예: | ||||||
원격 위치 | 파일이 원격 위치에 저장된 경우,
원격 위치에 따라
자세한 내용은 원격 데이터로 작업하기 항목을 참조하십시오. 예: |
파일이 Family 드라이버를 사용하는 여러 개의 물리적 파일로 구성된 경우, 형식 지정자를 사용하여
filename
을 지정하십시오. 그러한 물리적 파일이 현재 폴더에 없는 경우 전체 경로나 상대 경로를 사용하여 파일을 지정합니다. 예를 들어, 현재 폴더에서 두 파일family0.h5
와family1.h5
에 Family 드라이버를 사용하려면filename
을"family%d.h5"
로 지정하십시오.파일이 Multi 드라이버 또는 Split 드라이버를 사용하는 여러 개의 물리적 파일로 구성된 경우,
filename
을 물리적 파일 이름의 선행 접두사로 지정하십시오. 그러한 물리적 파일이 현재 폴더에 없는 경우 전체 경로나 상대 경로를 사용하여 파일을 지정합니다. 예를 들어, 현재 폴더에서 6개 파일multi-b.h5
,multi-g.h5
,multi-l.h5
,multi-o.h5
,multi-r.h5
,multi-s.h5
에 Multi 드라이버를 사용하려면filename
을"multi"
로 지정하십시오.
데이터셋 이름으로, 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에 개발됨Amazon S3, Windows Azure Blob Storage, HDFS와 같은 원격 위치에 있는 HDF5 파일에 데이터를 쓸 수 있습니다.
이름이 유니코드 문자로 인코딩된 HDF5 파일에 데이터를 쓸 수 있습니다.
이제 HDF5 파일에서 모든 유니코드 코드 포인트가 표현될 수 있도록 h5write
의 디폴트 문자 인코딩이 UTF-8로 설정되었습니다. 이전에는 디폴트 인코딩이 ASCII였습니다.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
웹사이트 선택
번역된 콘텐츠를 보고 지역별 이벤트와 혜택을 살펴보려면 웹사이트를 선택하십시오. 현재 계신 지역에 따라 다음 웹사이트를 권장합니다:
또한 다음 목록에서 웹사이트를 선택하실 수도 있습니다.
사이트 성능 최적화 방법
최고의 사이트 성능을 위해 중국 사이트(중국어 또는 영어)를 선택하십시오. 현재 계신 지역에서는 다른 국가의 MathWorks 사이트 방문이 최적화되지 않았습니다.
미주
- América Latina (Español)
- Canada (English)
- United States (English)
유럽
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)