Загрузка данных из MAT-файла
Симулинк/источники
Блок «Из файла» загружает данные из MAT-файла в модель и выводит данные в виде сигнала. Данные представляют собой последовательность выборок. Каждый образец состоит из временной метки и соответствующего значения данных. Данные могут быть в формате массива или MATLAB
®timeseries формат.
Значок блока «Из файла» показывает имя MAT-файла, предоставляющего данные блоку.
Можно иметь несколько блоков «Из файла», загружаемых из одного MAT-файла.
Поддерживаются версии MAT-файлов версии 7.0 или более ранней и версии 7.3. Блок «Из файла» постепенно загружает данные из файлов версии 7.3.
Можно указать способ загрузки данных, включая:
Время выборки
Обработка данных для отсутствующих точек данных
Использовать ли обнаружение пересечения нулей
Дополнительные сведения см. в разделе Загрузка данных с помощью блока из файла.
Port_1 - Данные файлаДанные файла MAT, заданные как последовательность выборок. Каждый образец состоит из временной метки и соответствующего значения данных. Данные могут быть в формате массива или MATLAB timeseries формат. При загрузке timeseries данные с использованием блока From File, тип данных времени должен быть double.
Типы данных: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean | fixed point | enumerated | bus
File name - Путь или имя файлаuntitled.mat (по умолчанию) | путь или имя файла MATПуть или имя файла MAT, содержащего входные данные. Укажите путь или имя файла одним из следующих способов:
Перейдите к папке, содержащей допустимый MAT-файл.
В системах UNIX ® имя пути может начинаться с символа тильды (~), что означает домашнюю папку.
Введите путь к файлу в текстовом поле.
Имя файла по умолчанию: untitled.mat. Если указано имя файла без информации о пути, Simulink ® загружает файл в текущую папку или по пути MATLAB. (Чтобы определить текущую папку, в командной строке MATLAB введитеpwd.)
Генерация кода для цели RSim обеспечивает такую же поддержку, как Simulink; все остальные цели генерации кода поддерживают только двойные одномерные реальные сигналы в массиве с форматом времени.
Для создания кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, MAT-файл должен содержать непустую конечную вещественную матрицу, содержащую не менее двух строк.
Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.
Параметр блока:
FileName
|
| Текст: символьный вектор |
| Значения: имя файла MAT |
По умолчанию:
'untitled.mat'
|
Output data type - Тип выходных данных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: <bus_object> | <data type expression>Тип данных, выводимых блоком «Из файла». Для типов, не являющихся шинами, можно использовать 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'
|
Sample time - Период отбора проб и смещение0 | скаляр | векторУкажите период выборки и смещение.
Блок «Из файла» загружает данные из MAT-файла, используя пример времени:
Для блока «Из файла» задается значение.
Блок «Из файла» наследует от блоков, в которые блок «Из файла» подает данные.
Время выборки по умолчанию - 0, которая задает непрерывное время выборки. MAT-файл загружается с базовой (самой быстрой) скоростью модели. Дополнительные сведения см. в разделе Указание времени образца.
Параметр блока:
SampleTime
|
| Текст: символьный вектор |
| Значения: скаляр | вектор |
По умолчанию:
'0'
|
Data extrapolation before first data point - Метод экстраполяции времени моделирования перед начальной меткой времени в MAT-файлеLinear extrapolation (по умолчанию) | Hold first value | Ground valueМетод экстраполяции для совпадения времени моделирования, которое происходит до начальной отметки времени в MAT-файле. Выберите один из следующих методов экстраполяции.
| Метод | Описание |
|---|---|
Linear extrapolation | (По умолчанию) Если MAT-файл содержит только один образец, то блок From File выводит соответствующее значение данных. Если MAT-файл содержит более одного образца, то блок «Из файла» линейно экстраполируется с использованием первых двух образцов:
Вы не можете использовать |
Hold first value | Использует первое значение данных в файле |
Ground value | Использует значение, зависящее от типа данных образца данных MAT-файла:
|
Для создания кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, необходимо установить для этого параметра значение Linear extrapolation. Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.
Параметр блока:
ExtrapolationBeforeFirstDataPoint
|
| Текст: символьный вектор |
Значения:
'Linear extrapolation' | 'Hold first value' | 'Ground value'
|
По умолчанию:
'Linear extrapolation'
|
Data interpolation within time range - метод интерполяции для времени моделирования, которое находится между двумя метками времени в MAT-файле;Linear interpolation (по умолчанию) | Zero order holdМетод интерполяции, используемый Simulink для моделирования времени между двумя метками времени в MAT-файле. Выберите один из этих методов интерполяции.
| Метод | Описание |
|---|---|
Linear interpolation | (По умолчанию) Блок Из файла интерполирует, используя два соответствующих образца MAT-файла:
|
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'
|
Data extrapolation after last data point - Метод экстраполяции для времени моделирования после последней метки времени в MAT-файлеLinear extrapolation (по умолчанию) | Hold last value | Ground valueМетод экстраполяции для совпадения времени моделирования, которое происходит после последней метки времени в MAT-файле. Выберите один из этих методов экстраполяции.
| Метод | Описание |
|---|---|
Linear extrapolation | (По умолчанию) Если MAT-файл содержит только один образец, то блок From File выводит соответствующее значение данных. Если MAT-файл содержит более одного образца, то блок Из файла линейно экстраполирует, используя значения данных двух последних образцов:
|
Hold last value | Использует последнее значение данных в файле |
Ground value | Использует значение, зависящее от типа данных образца данных MAT-файла:
|
Вы не можете использовать Linear extrapolation с перечисляемым (enum) данные. Все сигналы в шине используют одинаковую настройку экстраполяции. Если какой-либо сигнал в шине используется enum данные, то вы не можете использовать Linear extrapolation вариант.
Для создания кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, необходимо установить для этого параметра значение Linear extrapolation. Дополнительные сведения о создании кода C/C + + с помощью блока «Из файла» см. в разделе Создание кода.
Параметр блока:
ExtrapolationAfterLastDataPoint
|
| Текст: символьный вектор |
Значения:
'Linear extrapolation' | 'Hold last value' | 'Ground value'
|
По умолчанию:
'Linear extrapolation'
|
Enable zero-crossing detection - Включить обнаружение пересечения нулейoff (по умолчанию) | onВключает обнаружение пересечения нулей.
Параметр 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 момента пересечения нуля зависит от метки времени.
| Метка времени | Настройка |
|---|---|
Сначала | Экстраполяция данных перед первой точкой данных |
Между первым и последним | Интерполяция данных в пределах временного диапазона устанавливается в |
В последний раз | Один или оба этих параметра применяются:
|
На этом рисунке показано обнаружение пересечения нуля для данных, к которым обращается блок 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' |
Не рекомендуется для производственного кода.
Генерация кода для цели RSim обеспечивает такую же поддержку, как Simulink; все остальные цели генерации кода поддерживают только двойные одномерные реальные сигналы в массиве с форматом времени.
Для блока Из файла создание кода, который создает цели ERT или GRT или использует режимы моделирования SIL или PIL, требует, чтобы:
MAT-файл содержит непустую конечную вещественную матрицу, содержащую не менее двух строк.
Использовать тип данных double для матрицы.
Не включайте в матрицу элементы NaN, Inf или -Inf.
В диалоговом окне «Параметры блока из файла»:
Установите для параметров Экстраполяция данных перед первой точкой данных и Экстраполяция данных после последней точки данных значение Linear extrapolation.
Установите для параметра Data interpolation within time range значение Linear interpolation.
Снимите флажок Включить обнаружение пересечения нуля.
Поддерживает до 32-разрядных типов данных с фиксированной точкой.
Из электронной таблицы | Из рабочей области | К файлу | К рабочему пространству
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.
