read

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

Описание

пример

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

пример

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

пример

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(___,'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,'Unsigned_UInt32_LE_Primary_Offset_0','Conversion','None');
data(1:4,:)
ans =

  4×1 timetable

    Time     Unsigned_UInt32_LE_Primary_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_Primary_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

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

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

Пример: 'Vector'

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

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

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

  • 'None' — Не применяйте правила преобразования. Все данные импортированы как необработанные данные.

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

Пример: 'All'

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

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

свернуть все

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

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

Введенный в R2017b