cdfread

Считайте данные из файла Формата общих данных (CDF)

Синтаксис

data = cdfread(filename)
data = cdfread(filename, param1, val1, param2, val2, ...)
[data, info] = cdfread(filename, ...)

Описание

data = cdfread(filename) считывает все данные из файла Формата общих данных (CDF), заданного filename. Задайте filename как вектор символов или представьте скаляр в виде строки. Наборы данных CDF обычно содержат набор переменных, определенного типа данных, каждого со связанным набором записей. Переменная сила представляет временные стоимости с каждой записью, представляющей определенное время, когда наблюдение было зарегистрировано. cdfread возвращает все данные в массиве ячеек, где каждый столбец представляет переменную, и каждая строка представляет запись, сопоставленную с переменной. Если переменные имеют переменные количества связанных записей, cdfread заполняет строки, чтобы создать прямоугольный массив ячеек, с помощью значений клавиатуры, заданных в CDF-файле.

Примечание

Поскольку cdfread создает временные файлы, текущая рабочая директория должна быть writeable.

data = cdfread(filename, param1, val1, param2, val2, ...) считывает данные из файла, где param1, param2, и так далее, может быть любым из параметров, перечисленных в следующей таблице.

[data, info] = cdfread(filename, ...) возвращает детали о CDF-файле в структуре info.

ПараметрЗначение
'Records'Вектор, задающий, который записи читать. Номера записи основаны на нуле. cdfread возвращает массив ячеек с одинаковым числом строк как количество чтения записей и стольких же столбцов, сколько существуют переменные.
'Variables'1 n или n-by-1 массив ячеек, задающий имена переменных, чтобы читать из файла. n должен быть меньше чем или равен общему количеству переменных в файле. cdfread возвращает массив ячеек с одинаковым числом столбцов как количество чтения переменных и строка для каждого чтения записи.
'Slices'm-by-3 массив, где каждая строка задает, где начать читать по конкретному измерению переменной, интервал пропуска, чтобы использовать на той размерности (каждый элемент, любой элемент, и т.д.), и общее количество значений, чтобы читать на той размерности. m должен быть меньше чем или равен количеству размерностей переменной. Если m является меньше, чем общее количество размерностей, cdfread читает каждое значение из незаданных размерностей ([0 1 n], где n является общим количеством элементов в размерности.
Примечание: поскольку параметр 'Slices' описывает, как обработать одну переменную, он должен использоваться в сочетании с параметром 'Variables'.
'ConvertEpochToDatenum'

Булево значение, которое определяет, преобразовывает ли cdfread автоматически типы данных эпохи CDF в MATLAB® последовательные числа даты. Если установлено в false (значение по умолчанию), cdfread переносит значения эпохи в MATLAB объекты cdfepoch.


Примечание: Для лучшей производительности при чтении больших наборов данных, установленных этот параметр на true.
'CombineRecords'Булево значение, которое определяет, как cdfread возвращает наборы данных CDF, считанные из файла. Если установлено в false (значение по умолчанию), cdfread хранит данные в m-by-n массив ячеек, где m является количеством записей, и n является количеством переменных, которые требуют. Если установлено в true, cdfread комбинирует все записи для конкретной переменной в одну ячейку в выходном массиве ячеек. В этой ячейке cdfread хранит скалярные данные как массив столбца. cdfread расширяет размерность данных о строке и нескалярных. Например, вместо того, чтобы создать 1 000 элементов, содержащих 20 30 массивы для каждой записи, cdfread хранит все записи в одной ячейке как 1000 20 30 массивами
Примечание: Если вы используете параметр 'Records', чтобы задать, какие записи читать, вы не можете использовать параметр 'CombineRecords'.

Примечание: При использовании параметра 'Variable', чтобы считать одну переменную, если параметром 'CombineRecords' является true, cdfread возвращает данные как числовой M на n или символьный массив; это не помещает данные в массив ячеек.

Примечание

Чтобы улучшать производительность при работе с большими файлами данных, используйте опции 'CombineRecords' и 'ConvertEpochToDatenum'.

Примечание

Чтобы улучшать производительность, выключите валидацию файла, которую библиотека CDF делает по умолчанию когда вводные файлы. Для получения дополнительной информации смотрите cdflib.setValidate.

Примеры

Считайте все данные из CDF-файла.

data = cdfread('example.cdf');

Считайте данные из переменной 'Time'.

data = cdfread('example.cdf', 'Variable', {'Time'});

Считайте первое значение в первой размерности, второе значение во втором измерении, первые и третьи значения в третьей размерности и все значения в остальном измерении переменной 'multidimensional'.

data = cdfread('example.cdf', ...
               'Variable', {'multidimensional'}, ...
               'Slices', [0 1 1; 1 1 1; 0 2 2]);

Это подобно чтению целой переменной в data и затем использование индексирования матриц, как в следующем.

data{1}(1, 2, [1 3], :)

Сверните записи от набора данных и преобразуйте типы данных эпохи CDF в MATLAB последовательные числа даты.

data = cdfread('example.cdf', ...
               'CombineRecords', true, ...
               'ConvertEpochToDatenum', true);

Ограничения

  • Функция cdfread не поддерживает закодированные данные non-ASCII. Все имена переменных, имена атрибутов, значения переменных и значения атрибута в CDF-файле должны иметь 7-битное кодирование ASCII. Попытка считать non-ASCII закодировала результаты файлов по ошибкам или данным с поврежденными символами.

Представлено до R2006a