Считайте данные из файла Формата общих данных (CDF)
data = cdfread(
filename
)
data = cdfread(filename
, param1
, val1
,
param2, val2, ...)
[data, info] = cdfread(filename
,
...)
data = cdfread(
считывает все данные из файла Формата общих данных (CDF), заданного filename
)filename
. Задайте filename
как вектор символов или строковый скаляр. Наборы данных CDF обычно содержат набор переменных, определенного типа данных, каждого со связанным набором записей. Переменная сила представляет временные стоимости каждой записью, представляющей определенное время, когда наблюдение было зарегистрировано. cdfread
возвращает все данные в массиве ячеек, где каждый столбец представляет переменную, и каждая строка представляет запись, сопоставленную переменной. Если переменные имеют различные количества связанных записей, cdfread
заполняет строки, чтобы создать прямоугольный массив ячеек, с помощью значений клавиатуры, заданных в CDF-файле.
Примечание
Поскольку cdfread
создает временные файлы, текущая рабочая директория должна быть writeable.
data = cdfread(
считывает данные из файла, где filename
, param1
, val1
,
param2, val2, ...)
, param1
, и так далее, может быть любой из параметров, перечисленных в следующей таблице.param2
[data, info] = cdfread(
возвращает детали о CDF-файле в filename
,
...)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' | Булево значение, которое определяет ли Примечание: Для лучшей эффективности при чтении больших наборов данных, установленных этот параметр на 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' параметр.Примечание: При использовании |
Примечание
Чтобы улучшать производительность при работе с большими файлами данных, используйте '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 закодировала результаты файлов по ошибкам или данным с поврежденными символами.