cdfread

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

Синтаксис

данные = cdfread (filename)
данные = cdfread (filename, param1, val1, param2, val2...)
[данные, информация] = 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 возвращает массив ячеек с тем же количеством строк как количество чтения записей и стольких же столбцов, сколько существуют переменные.
ПеременныеИли n-1 массив ячеек 1 на n, задающий имена переменных, чтобы читать из файла. n должен быть меньше чем или равен общему количеству переменных в файле. cdfread возвращает массив ячеек с тем же количеством столбцов как количество чтения переменных и строка для каждого чтения записи.
'Slices'M-3 массив, где каждая строка задает, где начать читать по конкретному измерению переменной, интервал пропуска, чтобы использовать на той размерности (каждый элемент, любой элемент, и т.д.), и общее количество значений, чтобы читать на той размерности. m должен быть меньше чем или равен количеству размерностей переменной. Если m является меньше, чем общее количество размерностей, cdfread читает каждое значение из незаданных размерностей ([0 1 n], где n является общим количеством элементов в размерности.
Примечание: Поскольку параметр 'Срезов' описывает, как обработать единственную переменную, он должен использоваться в сочетании с параметром 'Переменных'.
'ConvertEpochToDatenum'

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


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

Примечание: При использовании 'Переменного' параметра, чтобы считать одну переменную, если параметр 'CombineRecords' верен, 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 не поддерживает закодированные данные неASCII. Все имена переменных, имена атрибутов, значения переменных и значения атрибута в CDF-файле должны иметь 7-битное кодирование ASCII. Попытка считать неASCII закодировала результаты файлов по ошибкам или данным с поврежденными символами.

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

Была ли эта тема полезной?