주요 콘텐츠

matlab.io.hdf4.sd.writeData

네임스페이스: matlab.io.hdf4.sd

데이터셋에 쓰기

구문

writeData(sdsID,data)
writeData(sdsID,start,data)
writeData(sdsID,start,stride,data)

설명

writeData(sdsID,data)sdsID로 식별된 데이터셋에 모든 데이터를 씁니다.

writeData(sdsID,start,data)는 데이터셋에 연속 하이퍼슬래브(Hyperslab)를 씁니다. start는 0부터 시작하는 인덱스를 지정합니다. 각 차원에서의 값의 개수는 data의 크기에서 유추됩니다.

writeData(sdsID,start,stride,data)는 그리드 데이터 필드에 데이터의 비연속 하이퍼슬래브(Hyperslab)를 씁니다. 각 차원을 따라 쓸 요소의 개수는 data의 크기 또는 데이터셋 자체에서 유추됩니다.

startstride는 0부터 시작하는 인덱싱 방식을 사용합니다.

이 함수는 HDF 라이브러리 C API의 SDreadchunk 함수에 대응합니다. 그러나 MATLAB®은 FORTRAN 스타일의 정렬을 사용하므로 start 파라미터와 stride 파라미터는 C 라이브러리 API에 맞게 순서가 뒤바뀝니다.

예제

2차원 데이터셋에 씁니다.

import matlab.io.hdf4.*
sdID = sd.start('myfile.hdf','create');
sdsID = sd.create(sdID,'temperature','double',[10 20]);
data = rand(10,20);
sd.writeData(sdsID,[0 0],data);
sd.endAccess(sdsID);
sd.close(sdID);

2차원 무제한 데이터셋에 씁니다.

import matlab.io.hdf4.*
sdID = sd.start('myfile.hdf','create');
sdsID = sd.create(sdID,'temperature','double',[10 0]);
data = rand(10,20);
sd.writeData(sdsID,[0 0],data);
data = rand(10,30);
sd.writeData(sdsID,[0 20],data);
sd.endAccess(sdsID);
sd.close(sdID);

참고 항목