read

Чтение данных канала из MDF-файла

Описание

пример

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

пример

data = read(mdfObj,chanList) считывает все данные для всех каналов, указанных в таблице списка каналов chanList.

пример

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

пример

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

пример

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

пример

data = read(___,'Conversion',convOpt) применяет заданную опцию преобразования к данным MDF при чтении в. Эта опция переопределяет настройку Conversion свойство mdf объект.

пример

data = read(___,'OutputFormat',fmtType) возвращает данные с заданным выходом.

пример

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

Примеры

свернуть все

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

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

Считывайте необработанные данные из заданного канала в группе первого канала, не применяя никаких правил преобразования.

mdfObj = mdf('MDFFile.mf4');
data = read(mdfObj,1,'Unsigend_UInt32_LE_Master_Offset_0','Conversion','None');
data(1:4,:)
ans =

  4×1 timetable

    Time     Unsigend_UInt32_LE_Master_Offset_0
    _____    __________________________________

    0 sec                    0
    1 sec                    1
    2 sec                    2 
    3 sec                    3

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

mdfObj = mdf('MDFFile.mf4');
chanList = channelList(mdfObj) % Channel table
data = read(mdfObj,chanList(1:3,:)); % First 3 channels

Считайте все доступные данные из 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,1:2) % Display 2 channels, 2 columns
  2×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')

Список каналов, заданный как таблица в формате, возвращаемом channelList (Vehicle Network Toolbox) функция.

Пример: channelList()

Типы данных: table

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

Пример: 1

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

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

Пример: 'Channel1'

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

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

Пример: 1

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

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

Пример: 1000

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

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

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

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

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

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

Пример: 'Vector'

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

Опция преобразования данных MDF-файлов, заданная как 'Numeric', 'All', или 'None'. По умолчанию используется значение, заданное в Conversion свойство mdf объект.

  • 'Numeric' - Применить только правила числового преобразования (CC_Type 1-6). Данные с нечисловыми правилами преобразования импортируются как необработанные, невертированные значения.

  • 'None' - Не применять никаких правил преобразования. Все данные импортируются как необработанные данные.

  • 'All' - Применить все правила числового и текстового преобразования (CC_Type 1-10).

Пример: 'All'

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

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

свернуть все

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

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

Введенный в R2016b