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