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