h5write

Запишите в набор данных HDF5

Описание

пример

h5write(filename,ds,data) записывает данные к набору данных в целом, ds, в заданном файле HDF5. Если набор данных фиксируется в размере, объем данных, который будет записан, должен совпадать с размером набора данных.

пример

h5write(filename,ds,data,start,count) пишет подмножество данных к набору данных, начинающемуся в стартовом местоположении start, и продолжение для count элементы. В многомерном наборе данных, count задает расстояние в каждом направлении. h5write расширяет растяжимый набор данных по любым неограниченным измерениям, при необходимости.

пример

h5write(filename,ds,data,start,count,stride) задает интервал между элементами, stride, по каждому измерению набора данных.

Примеры

свернуть все

Создайте 10 20 набор данных под названием DS1.

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

Создайте 10 20 набор данных под названием DS2.

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])

Запишите данные к набору данных, который имеет неограниченную размерность.

Создайте набор данных, который неограничен вдоль второго измерения. ChunkSize должен быть задан, чтобы установить любую размерность набора данных к Inf.

h5create('myfile.h5','/g2/DS2',[20 Inf],"Chunksize",[5 5]);

Запишите 3х3 блок данных в '/g2/DS2'. Начните в начальной точке [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.

В зависимости от местоположения вы пишете в, filename может взять одну из следующих форм.

Местоположение

Форма

Текущая папка

Чтобы записать в текущую папку, задайте имя файла в filename.

Пример: 'myFile.h5'

Другие папки

Чтобы записать в папку, отличающуюся от текущей папки, задайте полное имя или относительный путь в filename.

Пример: 'C:\myFolder\myFile.h5'

Пример: 'myFolder\myFile.h5'

Удаленное местоположение

Записать в удаленное местоположение, filename должен содержать полный путь файла, заданного как универсальный локатор ресурса (URL) формы:

scheme_name://path_to_file/my_file.ext

На основе вашего удаленного местоположения, scheme_name может быть одно из значений в этой таблице.

Удаленное местоположениеscheme_name
Amazon S3™s3
Устройство хранения данных Windows Azure® Blobwasb, wasbs

Для получения дополнительной информации смотрите работу с Удаленными данными.

Пример: 's3://bucketname/path_to_file/myFile.h5'

Имя набора данных в виде вектора символов или строкового скаляра, содержащего имя существующего набора данных в файле HDF5.

Данные, которые будут записаны в файл HDF5. Если числовой тип данных был задан в соответствующем вызове h5create, затем data числовая матрица, содержащая или целочисленные данные с плавающей точкой. Данные должны быть не разреженными, и должны быть одного размера с набором данных HDF5, если вы не задаете start или count. Если размерность в наборе данных неограниченна, то данные, которые будут записаны, могут быть любым размером по тому измерению.

Если 'string' был задан как тип данных в соответствующем вызове h5createданные массив строк MATLAB. Размерности массива строк должны совпадать с заданными в вызове h5create.

Стартовое местоположение в виде числового вектора из положительных целых чисел. Для N-мерного набора данных, start вектор из длины N содержащий индексы на основе 1. Элементы start соответствуйте, в порядке, к размерностям набора данных.

Если вы не задаете start, затем h5write функция начинает писать в набор данных от первого индекса по каждому измерению.

Число элементов, чтобы записать в виде числового вектора из положительных целых чисел. Для N-мерного набора данных, count вектор из длины N, задавая число элементов, чтобы записать в набор данных по каждому измерению. Элементы count соответствуйте, в порядке, к размерностям набора данных.

Разрядка между элементами по каждому измерению набора данных в виде числового вектора из целых чисел. Для N-мерного набора данных, stride вектор из длины N. Элементы stride вектор соответствует, в порядке, к размерностям набора данных. Значение 1 записи, не пропуская элементы в соответствующей размерности, тогда как, значение 2 пишет любой элемент и так далее.

Если вы не задаете шаг, то h5write функция записывает данные, не пропуская по каждому измерению.

Ограничения

  • h5write не поддерживает запись в файлы, хранившие удаленно в HDFS™.

Вопросы совместимости

развернуть все

Поведение изменяется в R2020a

Введенный в R2011a