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