Write to HDF5 dataset
writes a subset of data to a dataset, beginning at starting location
start, and continuing for
elements. In a multidimensional dataset,
a distance in each direction.
h5write extends an
extendable dataset along any unlimited dimensions, if necessary.
Create a 10-by-20 dataset named
Write a 10-by-20 array of random numbers to the dataset. Since the dimensions of
'DS1' are fixed, the amount of data to be written to it must match its size.
mydata = rand(10,20); h5write('myfile.h5', '/DS1', mydata)
Display the contents of the file.
HDF5 myfile.h5 Group '/' Dataset 'DS1' Size: 10x20 MaxSize: 10x20 Datatype: H5T_IEEE_F64LE (double) ChunkSize:  Filters: none FillValue: 0.000000
Create a 10-by-20 dataset named
Write a 5-by-7 subset of data to the last 5-by-7 block of the dataset. Specify
[5 7] to match the size of the data you are writing. Specify
[6 14], because moving
count cells from this starting point will end in the last element of the dataset.
mydata = rand(5,7); h5write('myfile.h5','/DS2',mydata,[6 14],[5 7])
Write data to a dataset that has an unlimited dimension.
Create a dataset that is unlimited along the second dimension.
ChunkSize must be specified to set any dimension of the dataset to
h5create('myfile.h5','/g2/DS2',[20 Inf],"Chunksize",[5 5]);
Write a 3-by-3 block of data to
'/g2/DS2'. Begin at the starting point
[3 2] and write to the end of the block. You can write data of any size along the second dimension of the dataset, since it is unlimited.
data = rand(3); start = [3 2]; count = [3 3]; h5write('myfile.h5','/g2/DS2',data,start,count);
Read all of the data from the dataset.
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 ⋮
filename— File name
File name, specified as a character vector or string scalar containing the name of an existing HDF5 file.
Depending on the location you are writing to,
filename can take on one of these
To write to the current folder,
specify the name of the file in
To write to a folder different from
the current folder, specify the full or relative
path name in
To write to a remote location,
Based on your
For more information, see Work with Remote Data.
ds— Dataset name
Dataset name, specified as a character vector or string scalar containing the name of an existing dataset in the HDF5 file.
Data to be written to the HDF5 file. If a numeric datatype was
specified in the corresponding call to
is a numeric matrix containing floating-point or integer data.
Data must be non sparse, and must be the same size as the HDF5
dataset if you do not specify
count. If a dimension in the dataset is
unlimited, then the data to be written can be any size along
'string' was specified as the datatype in
the corresponding call to
data is a MATLAB string array. The string array dimensions must
match those specified in the call to
start— Start location
Starting location, specified as a numeric vector of positive
integers. For an N-dimensional dataset,
is a vector of length N containing 1-based indices. The elements
start correspond, in order, to the dataset
If you do not specify
start, then the
h5write function starts writing to the
dataset from the first index along each dimension.
count— Number of elements
Inf's (default) | numeric vector
Number of elements to write, specified as a numeric vector of
positive integers. For an N-dimensional dataset,
count is a vector of length N,
specifying the number of elements to write to the dataset along
each dimension. The elements of
correspond, in order, to the dataset dimensions.
stride— Spacing between elements
Spacing between elements along each dimension of the dataset,
specified as a numeric vector of integers. For an N-dimensional
stride is a vector of length N. The
elements of the
stride vector correspond, in
order, to the dataset dimensions. A value of
1 writes without skipping elements in
the corresponding dimension, whereas, a value of
2 writes every other element, and so
If you do not specify stride, then the
h5write function writes data without
skipping along each dimension.
h5write does not support writing to files stored
remotely in HDFS™.
h5writefunction uses UTF-8 character encoding as the default setting
Behavior changed in R2020a
UTF-8 is now the default character encoding for
to ensure that all Unicode code points can be correctly represented in HDF5