exponenta event banner

Из файла

Загрузка данных из MAT-файла

  • Библиотека:
  • Симулинк/источники

  • From File block

Описание

Блок «Из файла» загружает данные из MAT-файла в модель и выводит данные в виде сигнала. Данные представляют собой последовательность выборок. Каждый образец состоит из временной метки и соответствующего значения данных. Данные могут быть в формате массива или MATLAB ®timeseries формат.

Значок блока «Из файла» показывает имя MAT-файла, предоставляющего данные блоку.

Можно иметь несколько блоков «Из файла», загружаемых из одного MAT-файла.

Поддерживаются версии MAT-файлов версии 7.0 или более ранней и версии 7.3. Блок «Из файла» постепенно загружает данные из файлов версии 7.3.

Можно указать способ загрузки данных, включая:

  • Время выборки

  • Обработка данных для отсутствующих точек данных

  • Использовать ли обнаружение пересечения нулей

Дополнительные сведения см. в разделе Загрузка данных с помощью блока из файла.

Порты

Продукция

развернуть все

Данные файла MAT, заданные как последовательность выборок. Каждый образец состоит из временной метки и соответствующего значения данных. Данные могут быть в формате массива или MATLAB timeseries формат. При загрузке timeseries данные с использованием блока From File, тип данных времени должен быть double.

Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus

Параметры

развернуть все

Путь или имя файла MAT, содержащего входные данные. Укажите путь или имя файла одним из следующих способов:

  • Перейдите к папке, содержащей допустимый MAT-файл.

    В системах UNIX ® имя пути может начинаться с символа тильды (~), что означает домашнюю папку.

  • Введите путь к файлу в текстовом поле.

Имя файла по умолчанию: untitled.mat. Если указано имя файла без информации о пути, Simulink ® загружает файл в текущую папку или по пути MATLAB. (Чтобы определить текущую папку, в командной строке MATLAB введитеpwd.)

Зависимости

Генерация кода для цели RSim обеспечивает такую же поддержку, как Simulink; все остальные цели генерации кода поддерживают только двойные одномерные реальные сигналы в массиве с форматом времени.

Для создания кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, MAT-файл должен содержать непустую конечную вещественную матрицу, содержащую не менее двух строк.

Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.

Программное использование

Параметр блока: FileName
Текст: символьный вектор
Значения: имя файла MAT
По умолчанию: 'untitled.mat'

Тип данных, выводимых блоком «Из файла». Для типов, не являющихся шинами, можно использовать Inherit: auto чтобы пропустить проверку любого типа данных. Если указан тип выходных данных, то блок «Из файла» проверяет соответствие данных в файле указанному типу данных. Дополнительные сведения см. в разделе Типы данных управляющих сигналов.

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

Нажмите кнопку Показать помощник по типам данных, чтобы отобразить помощник по типам данных, который помогает задать атрибуты типов данных. Дополнительные сведения см. в разделе Определение типов данных с помощью помощника по типам данных.

Программное использование

Параметр блока: OutDataTypeStr
Текст: символьный вектор
Значения: 'Inherit: auto' | 'double' | 'single' | 'int8' | 'uint8' | 'int16' | 'uint16' | 'int32' | 'uint32' | 'boolean' | 'fixdt(1,16,0)' | 'fixdt(1,16,2^0,0)' | 'Enum: <class name>' | 'Bus: <object name>' | '<data type expression>'
По умолчанию: 'Inherit: auto'

Укажите период выборки и смещение.

Блок «Из файла» загружает данные из MAT-файла, используя пример времени:

  • Для блока «Из файла» задается значение.

  • Блок «Из файла» наследует от блоков, в которые блок «Из файла» подает данные.

Время выборки по умолчанию - 0, которая задает непрерывное время выборки. MAT-файл загружается с базовой (самой быстрой) скоростью модели. Дополнительные сведения см. в разделе Указание времени образца.

Программное использование

Параметр блока: SampleTime
Текст: символьный вектор
Значения: скаляр | вектор
По умолчанию: '0'

Метод экстраполяции для совпадения времени моделирования, которое происходит до начальной отметки времени в MAT-файле. Выберите один из следующих методов экстраполяции.

МетодОписание
Linear extrapolation

(По умолчанию)

Если MAT-файл содержит только один образец, то блок From File выводит соответствующее значение данных.

Если MAT-файл содержит более одного образца, то блок «Из файла» линейно экстраполируется с использованием первых двух образцов:

  • Для double данные, линейно экстраполирует значение с использованием первых двух выборок

  • Для Boolean данные, выводит первое значение данных

  • Для встроенного типа данных, отличного от double или Boolean, блок «Из файла»:

    • Преобразование данных в double

    • Выполняет линейную экстраполяцию (как описано для double данные)

    • Понижение экстраполированного значения данных до исходного типа данных

Вы не можете использовать Linear extrapolation с перечисляемым (enum) данные. Все сигналы в шине используют одинаковую настройку экстраполяции. Если какой-либо сигнал в шине используется enum данные, то вы не можете использовать Linear extrapolation вариант.

Hold first value

Использует первое значение данных в файле

Ground value

Использует значение, зависящее от типа данных образца данных MAT-файла:

  • Типы данных с фиксированной точкой - использует значение земли

  • Числовые типы, отличные от фиксированной точки - Использует0

  • Boolean - Использование false

  • Перечисляемые типы данных - использует значение по умолчанию

Зависимости

Для создания кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, необходимо установить для этого параметра значение Linear extrapolation. Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.

Программное использование

Параметр блока: ExtrapolationBeforeFirstDataPoint
Текст: символьный вектор
Значения: 'Linear extrapolation' | 'Hold first value' | 'Ground value'
По умолчанию: 'Linear extrapolation'

Метод интерполяции, используемый Simulink для моделирования времени между двумя метками времени в MAT-файле. Выберите один из этих методов интерполяции.

МетодОписание
Linear interpolation

(По умолчанию)

Блок Из файла интерполирует, используя два соответствующих образца MAT-файла:

  • Для double данные, линейно интерполирует значение с использованием двух соответствующих выборок

  • Для Boolean данные, использование false для первой половины выборки и true на второй тайм.

  • Для встроенного типа данных, отличного от double или Boolean, блок «Из файла»:

    • Преобразование данных в double

    • Выполняет линейную интерполяцию, как описано для double данные

    • Понижение интерполированного значения до исходного типа данных

Zero order hold

Использует данные из первой из двух проб.

Ограничения

Вы не можете использовать Linear interpolation с перечисляемым (enum) данные. Все сигналы в шине используют одинаковую настройку интерполяции. Если какой-либо сигнал в шине используется enum данные, то вы не можете использовать Linear interpolation вариант.

Зависимости

Для создания кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, необходимо установить для этого параметра значение Linear interpolation. Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.

Программное использование

Параметр блока: InterpolationWithinTimeRange
Текст: символьный вектор
Значения: 'Linear interpolation' | 'Zero order hold'
По умолчанию: 'Linear interpolation'

Метод экстраполяции для совпадения времени моделирования, которое происходит после последней метки времени в MAT-файле. Выберите один из этих методов экстраполяции.

МетодОписание
Linear extrapolation

(По умолчанию)

Если MAT-файл содержит только один образец, то блок From File выводит соответствующее значение данных.

Если MAT-файл содержит более одного образца, то блок Из файла линейно экстраполирует, используя значения данных двух последних образцов:

  • Для double экстраполяция значения с использованием двух последних выборок.

  • Для Boolean , выводит первое значение данных.

  • Для встроенных типов данных, отличных от двойных или Boolean:

    • Преобразование данных в double

    • Выполняет линейную экстраполяцию, как описано для double данные

    • Понижение экстраполированного значения до исходного типа данных

Hold last value

Использует последнее значение данных в файле

Ground value

Использует значение, зависящее от типа данных образца данных MAT-файла:

  • Типы данных с фиксированной точкой - использует значение земли

  • Числовые типы, отличные от фиксированной точки - Использует0

  • Boolean - Использование false

  • Перечисляемые типы данных - использует значение по умолчанию

Ограничения

Вы не можете использовать Linear extrapolation с перечисляемым (enum) данные. Все сигналы в шине используют одинаковую настройку экстраполяции. Если какой-либо сигнал в шине используется enum данные, то вы не можете использовать Linear extrapolation вариант.

Зависимости

Для создания кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, необходимо установить для этого параметра значение Linear extrapolation. Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.

Программное использование

Параметр блока: ExtrapolationAfterLastDataPoint
Текст: символьный вектор
Значения: 'Linear extrapolation' | 'Hold last value' | 'Ground value'
По умолчанию: 'Linear extrapolation'

Включает обнаружение пересечения нулей.

Параметр Zero-Crossing Detection применяется только в том случае, если для параметра Sample time установлено значение 0 (непрерывный).

Simulink использует технологию, известную как обнаружение пересечения нуля, чтобы обнаружить разрыв во временных метках, не прибегая к чрезмерно малым временным шагам. «Пересечение нуля» представляет собой разрыв.

Для блока «Из файла» обнаружение пересечения нулей происходит только в метках времени в файле. Simulink проверяет только временные метки, а не значения данных.

Для сигналов шины Simulink обнаруживает пересечения нулевого уровня по всем элементам шины.

Если входной массив содержит повторяющиеся метки времени (более одной записи с одной меткой времени), Simulink обнаруживает пересечение нуля в эти метки времени. Например, предположим, что входной массив содержит эти данные.

time:     0 1 2 2 3
signal:   2 3 4 5 6

В момент времени 2 происходит пересечение нуля с разрывом входного сигнала.

Для не дублированных временных меток обнаружение пересечения нуля зависит от настроек следующих параметров:

  • Экстраполяция данных перед первой точкой данных

  • Интерполяция данных в пределах временного диапазона

  • Экстраполяция данных после последней точки данных

Определение в блоке From File момента пересечения нуля зависит от метки времени.

Метка времениНастройка

Сначала

Экстраполяция данных перед первой точкой данных Ground value.

Между первым и последним

Интерполяция данных в пределах временного диапазона устанавливается в Zero-order hold.

В последний раз

Один или оба этих параметра применяются:

  • Экстраполяция данных после последней точки данных установлена в Ground value.

  • Интерполяция данных в пределах временного диапазона устанавливается в Zero-order hold.

На этом рисунке показано обнаружение пересечения нуля для данных, к которым обращается блок From File, имеющий следующие настройки:

  • Экстраполяция данных перед первой точкой данных - Linear extrapolation

  • Интерполяция данных в пределах временного диапазона (для внутренних точек) - Zero order hold

  • Экстраполяция данных после последней точки данных - Linear extrapolation

Этот рисунок является еще одной иллюстрацией обнаружения пересечения нуля для данных, к которым обращается блок From File. Блок имеет следующие настройки для меток времени (точек):

  • Экстраполяция данных перед первой точкой данных - Hold first value

  • Интерполяция данных в пределах временного диапазона - Zero order hold

  • Экстраполяция данных после последней точки данных - Hold last value

Зависимости

Чтобы создать код, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, снимите этот флажок. Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.

Программное использование

Параметр блока: ZeroCross
Текст: символьный вектор
Значения: 'off' | 'on'
По умолчанию: 'on'

Характеристики блока

Типы данных

Boolean | bus | double | enumerated | fixed point[a] | integer | single

Прямой проход

no

Многомерные сигналы

yes

Сигналы переменного размера

no

Обнаружение пересечения нулей

yes

[a] Поддерживает до 32-разрядных типов данных с фиксированной точкой.

Расширенные возможности

.
Представлен до R2006a