Загрузка данных из MAT-файла
Simulink/Источники
Блок From File загружает данные из MAT-файла в модель и выводит данные как сигнал. Данные являются последовательностью выборок. Каждая выборка состоит из метки времени и связанного значения данных. Данные могут быть в формате массива или MATLAB®
timeseries
формат.
Значок From File блока показывает имя MAT-файла, который поставляет данные в блок.
Можно иметь несколько блоков From File, которые загружаются из одного MAT-файла.
Поддерживаемые версии MAT-файлов: 7.0 или более ранняя версия и 7.3. Блок From File постепенно загружает данные из файлов версии 7.3.
Можно задать способ загрузки данных, включая:
Шаг расчета
Как обрабатывать данные для недостающих точек данных
Используется ли обнаружение пересечения нулем
Для получения дополнительной информации смотрите Загрузка данных с использованием блока From File.
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® системы, имя может начинаться с символа tilde (~), что означает вашу домашнюю папку.
Введите путь к файлу в текстовом поле.
Имя файла по умолчанию untitled.mat
. Если вы задаете имя файла без информации о пути, Simulink® загружает файл в текущую папку или по пути MATLAB. (Для определения текущей папки в командной строке MATLAB введите pwd
.)
Генерация кода для цели RSim обеспечивает ту же поддержку, что и Simulink; все другие цели генерации кода поддерживают только двухмерные, одномерные, действительные сигналы в массиве с временным форматом.
Чтобы сгенерировать код, который строит ERT или GRT цели или использует SIL или PIL режимы симуляции, MAT-файл должен содержать непустую, конечную, действительную матрицу с по крайней мере двумя строками.
Для получения дополнительной информации о генерации кода C/C + + с блоком From File, смотрите Генерацию кода.
Параметры блоков:
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>
Тип данных для данных, которые выводит блок From File. Для типов, отличных от bus, можно использовать Inherit: auto
чтобы пропустить верификацию типа данных. Если вы задаете тип выходных данных, то блок From File проверяет, что данные в файле совпадают с заданным типом данных. Для получения дополнительной информации см. «Типы данных сигналов управления».
Если вы задаете Output data type как объект шины, объект шины должен быть доступен при компиляции модели. Для каждого сигнала в данных шины блок From File проверяет, что тип, размерности и сложность данных одинаковы для данных и для объекта шины.
Нажмите кнопку Show data type assistant, чтобы отобразить Data Type Assistant, которая помогает вам задать атрибуты type данных. Для получения дополнительной информации смотрите Задать типы данных Используя Data Type Assistant.
Параметры блоков:
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
| скалярный вектор |Укажите период дискретизации и смещение.
Блок From File загружает данные из MAT-файла с помощью шага расчета, который либо:
Вы задаете для блока From File.
Блок From File наследует от блоков, в которые блок From File передает данные.
Значение по умолчанию шаг расчета 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-файл содержит более одной выборки, то From File блок линейно экстраполируется, используя первые две выборки:
Вы не можете использовать |
Hold first value | Использует первое значение данных в файле |
Ground value | Использует значение, которое зависит от типа данных значений выборочных данных MAT-файла:
|
Чтобы сгенерировать код, который строит цели ERT или GRT или использует режимы симуляции SIL или PIL, вы должны задать этот параметр Linear extrapolation
. Для получения дополнительной информации о генерации кода C/C + + с блоком From File, смотрите Генерацию кода.
Параметры блоков:
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 | (По умолчанию) Блок From File интерполируется с использованием двух соответствующих выборок MAT-файлов:
|
Zero order hold | Использует данные из первого из двух выборок |
Вы не можете использовать Linear interpolation
опция с перечисленным (enum
) данные. Все сигналы в шине используют одну и ту же настройку интерполяции. Если какой-либо сигнал в шине использует enum
данные, тогда вы не можете использовать Linear interpolation
опция.
Чтобы сгенерировать код, который строит цели ERT или GRT или использует режимы симуляции SIL или PIL, вы должны задать этот параметр Linear interpolation
. Для получения дополнительной информации о генерации кода C/C + + с блоком From File, смотрите Генерацию кода.
Параметры блоков:
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-файл содержит более одной выборки, то блок From File линейно экстраполируется с использованием значений данных последних двух выборок:
|
Hold last value | Использует последнее значение данных в файле |
Ground value | Использует значение, которое зависит от типа данных значений выборочных данных MAT-файла:
|
Вы не можете использовать Linear extrapolation
опция с перечисленным (enum
) данные. Все сигналы в шине используют одну и ту же настройку экстраполяции. Если какой-либо сигнал в шине использует enum
данные, тогда вы не можете использовать Linear extrapolation
опция.
Чтобы сгенерировать код, который строит цели ERT или GRT или использует режимы симуляции SIL или PIL, вы должны задать этот параметр Linear extrapolation
. Для получения дополнительной информации о генерации кода C/C + + с блоком From File, смотрите Генерацию кода.
Параметры блоков:
ExtrapolationAfterLastDataPoint
|
Тип: Вектор символов |
Значения:
'Linear extrapolation' | 'Hold last value' | 'Ground value'
|
По умолчанию:
'Linear extrapolation'
|
Enable zero-crossing detection
- Включить обнаружение пересечения нулемoff
(по умолчанию) | on
Включает обнаружение пересечения нулем.
Параметр Zero-Crossing Detection применяется только, если для параметра Sample time задано значение 0
(непрерывно).
Simulink использует метод, известный как обнаружение пересечения нулем, чтобы обнаружить разрыв во метках времени, не прибегая к чрезмерно маленьким временным шагам. «Пересечение нулем» представляет собой разрыв.
Для блока From File обнаружение пересечения нулем происходит только при метках времени в файле. Simulink исследует только метки времени, а не значения данных.
Для сигналов шины Simulink обнаруживает пересечения нулем через все элементы шины листа.
Если массив входа содержит повторяющиеся метки времени (более одной записи с той же меткой времени), Simulink обнаруживает пересечение нуля в этих метках времени. Например, предположим, что входной массив имеет эти данные.
time: 0 1 2 2 3 signal: 2 3 4 5 6
В момент 2 происходит пересечение нуля от разрыва входного сигнала.
Для недупликационных меток времени обнаружение пересечения нулем зависит от настроек этих параметров:
Data extrapolation before first data point
Data interpolation within time range
Data extrapolation after last data point
Определение From File блока, когда происходит пересечение нулем, зависит от метки времени.
Метка времени | Настройка |
---|---|
Сначала | Data extrapolation before first data point установлено на |
Между первым и последним | Data interpolation within time range установлено на |
В последний раз | Одна или обе из этих настроек применяются:
|
Этот рисунок иллюстрирует обнаружение пересечения нулем для данных, к которым обращается блок From File, который имеет эти настройки:
Data extrapolation before first data point — Linear extrapolation
Data interpolation within time range (для внутренних точек) - Zero order hold
Data extrapolation after last data point — Linear extrapolation
Этот рисунок является еще одной иллюстрацией обнаружения пересечения нулем для данных, к которым обращается блок From File. Блок имеет следующие настройки для меток времени (точек):
Data extrapolation before first data point — Hold first value
Data interpolation within time range — Zero order hold
Data extrapolation after last data point — Hold last value
Чтобы сгенерировать код, который создает ERT или GRT цели или использует SIL или PIL режимы симуляции, снимите этот флажок. Для получения дополнительной информации о генерации кода C/C + + с блоком From File, смотрите Генерацию кода.
Параметры блоков: ZeroCross |
Тип: Вектор символов |
Значения: 'off' | 'on' |
По умолчанию: 'on' |
Не рекомендуемый для производственного кода.
Генерация кода для цели RSim обеспечивает ту же поддержку, что и Simulink; все другие цели генерации кода поддерживают только двухмерные, одномерные, действительные сигналы в массиве с временным форматом.
Для блока From File, генерация кода, который создает цели ERT или GRT или использует режимы симуляции SIL или PIL, требует, чтобы:
MAT-файл содержит непустую, конечную, действительную матрицу с по крайней мере двумя строками.
Используйте тип данных double
для матрицы.
Не включать в матрицу элементы NaN, Inf или -Inf.
В диалоговом окне From File параметры блоков:
Установите параметры Data extrapolation before first data point и Data extrapolation after last data point равными Linear extrapolation
.
Установите параметр Data interpolation within time range равным Linear interpolation
.
Очистите параметр Enable zero-crossing detection.
Поддерживает до 32-битных типов данных с фиксированной точкой.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.