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 является количеством переменных, которые требуют. Если установлено в truecdfread объединения все записи для конкретной переменной в одну ячейку в выходном массиве ячеек. В этой ячейке, cdfread хранит скалярные данные как массив столбца. cdfread расширяет размерность данных о строке и нескалярных. Например, вместо того, чтобы создать 1 000 элементов, содержащих 20 30 массивы для каждой записи, cdfread хранилища все записи в одной ячейке как 1000 20 30 массивами
Примечание: Если вы используете 'Records' параметр, чтобы задать, который записи читать, вы не можете использовать 'CombineRecords' параметр.

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

Примечание

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

Примечание

Чтобы улучшать производительность, выключите валидацию файла, которую библиотека 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