Запишите данные к файлу в формате HDF5
hdf5write будет удален в будущей версии. Используйте h5write вместо этого.
hdf5write (имя файла, местоположение, набор данных)
hdf5write (имя файла, детали, набор данных)
hdf5write (имя файла, детали, атрибут)
hdf5write (имя файла, details1, dataset1, details2, dataset2...)
hdf5write (имя файла..., 'Режим записи', режим...)
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);