Считайте данные из файла Формата общих данных (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' .Примечание: При использовании параметра |
Чтобы улучшать производительность при работе с большими файлами данных, используйте опции '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 закодировала результаты файлов по ошибкам или данным с поврежденными символами.