Запишите данные к файлу в формате HDF5
hdf5write будет удален в будущей версии. Используйте h5write вместо этого.
hdf5write(filename,location,dataset)
hdf5write(filename,details,dataset)
hdf5write(filename,details,attribute)
hdf5write(filename, details1, dataset1,
details2, dataset2,...)
hdf5write(filename,...,'WriteMode',mode,...)
hdf5write(..., 'V71Dimensions', BOOL)
hdf5write(filename,location,dataset) пишут данные dataset в файл HDF5, filename. Если filename не существует, hdf5write создает его. Если filename существует, hdf5write перезаписывает существующий файл, по умолчанию, но можно также добавить данные к существующему файлу с помощью дополнительного синтаксиса.
location задает, где написать набор данных в файле. Файлы HDF5 организованы в иерархической структуре, подобной структуре каталогов UNIX®. location задан как вектор символов или скаляр строки, который напоминает путь к UNIX.
hdf5write сопоставляет данные в dataset к типам данных HDF5 согласно правилам, обрисованным в общих чертах ниже.
hdf5write(filename,details,dataset) записи dataset к filename с помощью значений в структуре details. Для набора данных структура details может содержать следующие поля.
Имя поля | Описание | Тип данных |
|---|---|---|
| Местоположение набора данных в файле | Вектор символов или скаляр строки |
| Назовите, чтобы присоединить к набору данных | Вектор символов или скаляр строки |
hdf5write(filename,details,attribute) пишут метаданные attribute в filename с помощью значений в структуре details. Для атрибута структура details может содержать следующие поля.
Имя поля | Описание | Тип данных |
|---|---|---|
| Местоположение объекта этот атрибут изменяет | Массив структур |
| Идентифицирует, какой объект этот атрибут изменяет; возможными значениями является | Вектор символов или скаляр строки |
| Назовите, чтобы присоединить к набору данных | Вектор символов или скаляр строки |
hdf5write(filename, details1, dataset1,
details2, dataset2,...) записи несколько наборов данных и сопоставленных атрибутов к filename в одной операции. Каждый набор данных и атрибут должны иметь связанную структуру details.
hdf5write(filename,...,'WriteMode',mode,...) задает, перезаписывает ли hdf5write существующий файл (значение по умолчанию) или добавляет наборы данных и приписывает файлу. Возможными значениями для режима является 'overwrite' и 'append'.
hdf5write(..., 'V71Dimensions', BOOL) задает, изменить ли большинство наборов данных, записанных в файл. Если BOOL верен, hdf5write переставляет первые две размерности набора данных, как это сделало в предыдущих релизах (MATLAB® 7.1 [R14SP3] и ранее). Это поведение было предназначено, чтобы составлять различие в том, как HDF5 и MATLAB выражают измерения массива. HDF5 описывает размерности набора данных в главном строкой порядке; MATLAB хранит данные в порядке развертывания по столбцам. Однако перестановка этих размерностей не может правильно отразить намерение данных и может делать недействительным метаданные. Когда BOOL является ложным (значение по умолчанию), данные, записанные в файл правильно, отражают упорядоченное расположение данных наборов данных — каждая размерность в наборах данных файла совпадает с той же размерностью в соответствующей переменной MATLAB.
В следующей таблице перечислены, как hdf5write сопоставляет тип данных из рабочей области в файл HDF5. Если данными в рабочей области, которая пишется в файл, является тип данных MATLAB, hdf5write использует следующие правила при переводе данных MATLAB в объекты данных HDF5.
Тип данных MATLAB | Набор данных HDF5 или атрибут |
|---|---|
Числовой | Соответствующий собственный тип данных HDF5. Например, если типом данных рабочей области является |
Вектор символов или скаляр строки | Одна, отключенная пустым указателем строка |
Массив ячеек из символьных векторов или массив строк | Несколько, отключенные пустым указателем строки, каждый та же длина. Длина определяется длиной самой длинной строки в массиве ячеек. Размер пространства данных HDF5 одного размера как массив ячеек. |
Массив ячеек числовых данных | Числовой массив, те же размерности как массив ячеек. Элементы массива должны все иметь тот же размер и тип. Тип данных определяется первым элементом в массиве ячеек. |
Массив структур | HDF5 соединяют тип. Отдельные поля в структуре используют те же правила перевода данных для отдельных типов данных. Например, массив ячеек строк становится кратным, отключенными пустым указателем строками. |
Объекты HDF5 | Если данные, записанные в файл, состоят из объектов HDF5, |
Запишите набор данных 5 на 5 значений uint8 корневой группе.
hdf5write('myfile.h5', '/dataset1', uint8(magic(5)))Запишите набор данных 2 на 2 вводов текста в подгруппу.
dataset = {'north', 'south'; 'east', 'west'};
hdf5write('myfile2.h5', '/group1/dataset1.1', dataset);Запишите набор данных и припишите существующей группе.
dset = single(rand(10,10));
dset_details.Location = '/group1/dataset1.2';
dset_details.Name = 'Random';
attr = 'Some random data';
attr_details.Name = 'Description';
attr_details.AttachedTo = '/group1/dataset1.2/Random';
attr_details.AttachType = 'dataset';
hdf5write('myfile2.h5', dset_details, dset, ...
attr_details, attr, 'WriteMode', 'append');Запишите, что использование набора данных возражает.
dset = hdf5.h5array(magic(5));
hdf5write('myfile3.h5', '/g1/objects', dset);