чтение

Считайте данные о канале из MDF-файла

Синтаксис

data = read(mdfObj)
data = read(mdfObj,chanGroupIndex,chanName)
data = read(mdfObj,chanGroupIndex,chanName,startPosition)
data = read(mdfObj,chanGroupIndex,chanName,startPosition,endPosition)
data = read(mdfObj,chanGroupIndex,chanName,startPosition,endPosition,'OutputFormat',fmtType)
[data,time] = read(mdfObj,chanGroupIndex,chanName,startPosition,endPosition,'OutputFormat','Vector')

Описание

пример

data = read(mdfObj) Считывает все данные для всех каналов от MDF-файла, идентифицированного объектом mdfObj MDF-файла, и присваивает вывод data. Если данные о файле являются одной группой канала, вывод является расписанием; несколько групп канала возвращены как массив ячеек расписаний, где индекс массива ячеек соответствует номеру группы канала.

Примечание

Эта функция поддерживается только на 64-битных операционных системах Windows®.

пример

data = read(mdfObj,chanGroupIndex,chanName) Считывает все данные для заданного канала от MDF-файла, идентифицированного объектом mdfObj MDF-файла.

пример

data = read(mdfObj,chanGroupIndex,chanName,startPosition) считывает данные из положения, заданного startPosition.

пример

data = read(mdfObj,chanGroupIndex,chanName,startPosition,endPosition) считывает данные для области значений, заданной от startPosition до endPosition.

пример

data = read(mdfObj,chanGroupIndex,chanName,startPosition,endPosition,'OutputFormat',fmtType) возвращает данные с заданным выходным форматом.

пример

[data,time] = read(mdfObj,chanGroupIndex,chanName,startPosition,endPosition,'OutputFormat','Vector') возвращает два вектора данных о канале и соответствующих меток времени.

Примеры

свернуть все

Считайте все доступные данные из MDF-файла.

mdfObj = mdf('MDFFile.mf4');
data = read(mdfObj);

Считайте все доступные данные из MDF-файла для заданных каналов.

mdfObj = mdf('MDFFile.mf4');
data = read(mdfObj,1,{'Channel1','Channel2'});

Считайте область значений данных из индексации использующего MDF-файла для startPosition и endPosition, чтобы задать область значений данных.

mdfObj = mdf('MDFFile.mf4');
data = read(mdfObj,1,{'Channel1','Channel2'},1,10);

Считайте область значений данных из MDF-файла с помощью временных стоимостей для startPosition и endPosition, чтобы задать область значений данных.

mdfObj = mdf('MDFFile.mf4');
data = read(mdfObj,1,{'Channel1','Channel2'},seconds(5.5),seconds(7.3));

Считайте все доступные данные из MDF-файла, возвратив данные и временные векторы.

mdfObj = mdf('MDFFile.mf4');
[data,time] = read(mdfObj,1,'Channel1','OutputFormat','Vector');

Считайте все доступные данные из MDF-файла, возвратив данные временных рядов.

mdfObj = mdf('MDFFile.mf4');
data = read(mdfObj,1,'Channel1','OutputFormat','TimeSeries');

Считайте данные из канала, идентифицированного функцией channelList.

Получите список каналов и отобразите их имена и числа группы.

mdfObj = mdf('File05.mf4');
chlist = channelList(mdfObj);
chlist(:,1:2)
  4×2 table

                ChannelName                 ChannelGroupNumber
    ____________________________________    __________________

    "Float_32_LE_Offset_64"                         2         
    "Float_64_LE_Master_Offset_0"                   2

Считайте данные из первого канала в списке.

data = read(mdfObj,chlist{1,2},chlist{1,1});
data(1:5,:)
  5×1 timetable

      Time      Float_32_LE_Offset_64
    ________    _____________________

    0 sec                  5         
    0.01 sec             5.1         
    0.02 sec             5.2         
    0.03 sec             5.3         
    0.04 sec             5.4

Входные параметры

свернуть все

MDF-файл, заданный как объект MDF-файла.

Пример: mdf('MDFFile.mf4')

Индекс группы канала, заданной как числовое значение, которое идентифицирует группу канала, из которой можно читать.

Пример 1

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Имя канала, заданного как вектор символов, строка или массив. chanName идентифицирует имя канала в группе канала. Используйте массив ячеек из символьных векторов или массив строки, чтобы идентифицировать несколько каналов.

Пример: 'Channel1'

Типы данных: char | string | cell

Первое положение данных о канале, заданных как числовое значение или длительность. Опция startPosition задает первое положение, из которого можно считать данные о канале. Обеспечьте числовое значение, чтобы задать индексное положение; используйте длительность, чтобы задать положение времени. Если только startPosition обеспечивается без опции endPosition, значение данных в том местоположении возвращено. Когда используется с endPosition задать область значений, функция возвращает данные из startPosition (включительно) к endPosition (невключительно).

Пример 1

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

Последняя позиция области значений данных о канале, заданной как числовое значение или длительность. Опция endPosition задает последнюю позицию для чтения области значений данных о канале. Обеспечьте и startPosition и endPosition, чтобы задать извлечение области значений данных. Функция возвращается до, но не включая endPosition при чтении области значений. Обеспечьте числовое значение, чтобы задать индексное положение; используйте длительность, чтобы задать положение времени.

Пример: 1000

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | duration

Формат для выходных данных, заданных как вектор символов или строка. Эта опция форматирует вывод согласно следующей таблице.

'OutputFormat' Описание
'Timetable'

Возвратите расписание в один или несколько каналов в одну выходную переменную. Это - единственный формат, позволенный при чтении из нескольких каналов одновременно. (Значение по умолчанию).

Примечание: формат расписания включает столбцы для каналов MDF. Поскольку заголовки столбцов должны быть допустимыми идентификаторами MATLAB®, они не могут быть точно тем же самым как теми значениями в свойстве ChannelNames объекта MDF. Заголовки столбцов выведены из свойства с помощью функционального matlab.lang.makeValidName. Исходные названия канала доступны в свойстве VariableDescriptions объекта timetable.

'Vector'Возвратите вектор значений числовых данных, и опционально вектор временных стоимостей от одного канала. Используйте одну выходную переменную, чтобы возвратить только данные или две выходных переменные, чтобы возвратить и данные и временные векторы.
'TimeSeries'Возвратите временные ряды данных из одного канала.

Пример: 'Vector'

Типы данных: char | string

Выходные аргументы

свернуть все

Данные о канале, возвращенные как вектор, удваиваются, временные ряды, расписание или массив ячеек расписаний, согласно установке опции 'OutputFormat' и количеству групп канала.

Времена данных о канале, возвращенные как вектор двойных элементов. Временной вектор возвращен только, когда 'OutputFormat' установлен в 'Vector'.

Введенный в R2017b