Считайте данные из файла Формата общих данных (CDF)
данные = cdfread (
filename
)
данные = cdfread (filename
, param1
, val1
, param2, val2...)
[данные, информация] = cdfread (filename
...)
считывает все данные из файла Формата общих данных (CDF), заданного data = cdfread(filename)
filename
. Задайте filename
как вектор символа или представьте скаляр в виде строки. Наборы данных CDF обычно содержат набор переменных, определенного типа данных, каждого со связанным набором записей. Переменная сила представляет временные стоимости с каждой записью, представляющей определенное время, когда наблюдение было зарегистрировано. cdfread
возвращает все данные в массиве ячеек, где каждый столбец представляет переменную, и каждая строка представляет запись, сопоставленную с переменной. Если переменные имеют переменные количества связанных записей, cdfread
заполняет строки, чтобы создать прямоугольный массив ячеек, с помощью значений клавиатуры, заданных в CDF-файле.
Поскольку cdfread
создает временные файлы, текущая рабочая директория должна быть writeable.
считывает данные из файла, где data = cdfread(filename, param1, val1, param2, val2, ...)
, param1
, и так далее, может быть любым из параметров, перечисленных в следующей таблице.param2
возвращает детали о CDF-файле в структуре [data, info] = cdfread(filename, ...)
info
.
Параметр | Значение |
---|---|
'Records' | Вектор, задающий, который записи читать. Номера записи основаны на нуле. cdfread возвращает массив ячеек с тем же количеством строк как количество чтения записей и стольких же столбцов, сколько существуют переменные. |
Переменные | Или n-1 массив ячеек 1 на n, задающий имена переменных, чтобы читать из файла. n должен быть меньше чем или равен общему количеству переменных в файле. cdfread возвращает массив ячеек с тем же количеством столбцов как количество чтения переменных и строка для каждого чтения записи. |
'Slices' | M-3 массив, где каждая строка задает, где начать читать по конкретному измерению переменной, интервал пропуска, чтобы использовать на той размерности (каждый элемент, любой элемент, и т.д.), и общее количество значений, чтобы читать на той размерности. m должен быть меньше чем или равен количеству размерностей переменной. Если m является меньше, чем общее количество размерностей, cdfread читает каждое значение из незаданных размерностей ([0 1 n] , где n является общим количеством элементов в размерности. Примечание: Поскольку параметр 'Срезов' описывает, как обработать единственную переменную, он должен использоваться в сочетании с параметром 'Переменных' . |
'ConvertEpochToDatenum' | Булево значение, которое определяет, преобразовывает ли Примечание: Для лучшей производительности при чтении больших наборов данных, установленных этот параметр на истину . |
'CombineRecords' | Булево значение, которое определяет, как cdfread возвращает наборы данных CDF, считанные из файла. Если установлено в false (значение по умолчанию), cdfread хранит данные в массиве ячеек m на n, где m является количеством записей, и n является количеством переменных, которые требуют. Если установлено в true , cdfread комбинирует все записи для конкретной переменной в одну ячейку в выходном массиве ячеек. В этой ячейке cdfread хранит скалярные данные как массив столбца. cdfread расширяет размерность данных строки и нескалярных. Например, вместо того, чтобы создать 1 000 элементов, содержащих 20 30 массивы для каждой записи, cdfread хранит все записи в одной ячейке как 1000 20 30 массивамиПримечание: При использовании параметр 'Записей' , чтобы задать, какие записи читать, вы не можете использовать параметр '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
не поддерживает закодированные данные неASCII. Все имена переменных, имена атрибутов, значения переменных и значения атрибута в CDF-файле должны иметь 7-битное кодирование ASCII. Попытка считать неASCII закодировала результаты файлов по ошибкам или данным с поврежденными символами.