(Не рекомендуемый), Записывают данные к файлу в формате 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 \exists, 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);