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
의 크기 또는 데이터셋 자체에서 유추됩니다.
start
및 stride
는 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);