Загрузка данных с помощью блока из файла

Чтобы загрузить данные сигнала в модель с помощью блока From File:

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

  2. Добавьте блок From File в модель. Соедините From File блок с блоком, которому From File предоставляет вход.

  3. Дважды кликните From File блок и задайте:

    • Путь к файлу, из которого вы хотите загрузить данные

    • Формат данных для вывода From File блока

    • Как загружаются данные, включая шаг расчета, как обрабатываются данные для недостающих точек данных и использовать ли обнаружение пересечения нулем

Загрузка данных

Для MAT-файла версии 7.0 и более ранних версий, блок From File загружает полные, несжатые данные из файла в память в начале симуляции. Для MAT-файла версии 7.3 блок From File постепенно загружает данные из файла во время симуляции.

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

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

Шаг расчета

Параметр From File Sample time блока задает шаг расчета для загрузки данных из MAT-файла. Временные метки в файле должны быть монотонно неразрешенными. Для получения дополнительной информации см. документацию по From File блокам.

Время симуляции попадает без соответствующих временных данных

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

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

  • Методы интерполяции или экстраполяции, которые вы выбираете

  • Тип данных данных MAT-файлов

Для получения дополнительной информации об опциях интерполяции и экстраполяции смотрите документацию для этих параметров From File блоков:

  • Data extrapolation before first data point

  • Data interpolation within time range

  • Data extrapolation after last data point

Повторяющиеся метки времени

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

Предположим, что MAT-файл содержит следующие данные с тремя значениями данных, имеющими значение временной метки 2:

time stamps:    0 1 2 2 2 3 4
data values:    2 3 6 4 9 1 5

Следующая таблица описывает выходы From File блока.

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

Использует первое из повторяющихся значений временных меток в качестве базиса для интерполяции. (В этом примере это значение временной метки 6.)

В или после повторяющихся временных меток

Использование последнего из повторяющихся значений временных меток в качестве базиса для интерполяции. (В этом примере это значение временной метки 9.)

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

Обнаружение пересечения нулем обнаруживает разрыв во временных метках, не прибегая к чрезмерно маленьким временным шагам. По умолчанию From File блок не включает обнаружение пересечения нулем.

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

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

Для получения дополнительной информации смотрите From File блочную документацию параметра Enable zero-crossing detection.

Создайте данные для блока из файла

Значения NaN не поддерживаются

Не включать значения NaN в MAT-файл, который вы загружаете в блок From File.

Данные, сохраненные блоком в файл

Блок From File загружает данные, которые были записаны блоком To File без каких-либо изменений данных или каких-либо других специальных условий.

Поддерживаемые версии MAT-файла

Поддерживаемые версии MAT-файлов:

  • Версия 7.0 или более ранняя

  • Версия 7.3

Для MAT-файла версии 7.0 и более ранних версий, блок From File загружает полные, несжатые данные из файла в память, когда начинается симуляция. Для MAT-файла версии 7.3 блок From File постепенно загружает данные из файла во время симуляции.

Для получения дополнительной информации о MAT-файлах см. Версии MAT-файла.

Преобразуйте MAT-файлы версий 7.0 и более ранних версий.  Если у вас есть MAT-файл версии 7.0 или более ранней версии, который вы хотите использовать с блоком From File, рассмотрите преобразование файла в версию 7.3. Используйте MAT-файл версии 7.3, если вы хотите, чтобы блок From File загружал данные постепенно во время симуляции или вы хотите использовать MATLAB® timeseries данные. Например, чтобы преобразовать файл версии 7.0 с именем my_data_file.mat который содержит переменную var, в командной строке MATLAB введите:

load('my_data_file.mat')
save('my_data_file.mat', 'var', '-v7.3')

Форматы хранилища

Когда блок From File загружает данные из MAT-файла, эти данные должны храниться в формате массива или как MATLAB timeseries объект.

Данные массива.  Формат массива можно использовать только для векторных, двойных, некомплексных сигнальных данных.

Для MAT-файла версии 7.0 блок From File загружает данные массива, но не MATLAB timeseries данные.

Формат массива для сохраненных данных является матрицей, содержащей две или более строк. Матрица в MAT-файле должна иметь следующую форму:

[t1t2tfinalu11u12u1finalun1un2unfinal]

Первый элемент каждого столбца содержит временную метку. Оставшаяся часть каждого столбца содержит данные для соответствующих выходных значений. Каждый элемент должен быть двойным. Элементы не могут включать NaN, Inf, или -Inf.

Для данных, хранящихся в формате массива, ширина выхода Файл зависит от количества строк в матрице. Для матрицы, содержащей m строк, блок выводит вектор длины m-1.

Данные Timeseries MATLAB.  Чтобы использовать данные шины с блоком From File, используйте MATLAB timeseries формат.

MATLAB- timeseries форматные данные могут иметь:

  • Любая размерность и сложность

  • Любой встроенный тип данных, включая Boolean

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

  • Перечисленный тип данных

Когда вы загружаете timeseries данные с использованием блока From File, тип данных временных данных должен быть double.

Система MATLAB timeseries формат поддерживает следующие режимы симуляции и генерации кода:

  • Нормальный

  • Акселератор

  • Быстрый ускоритель

  • Моделируйте ускоритель уставки

См. документацию по From File блокам для примера создания MAT-файла с MATLAB timeseries загрузка данных блоком From Workspace.

Метки времени

Временные метки в файле должны быть монотонно неразрешенными.

Данные шины

Блок From File поддерживает загрузку невиртуальных сигналов шины.

Данные должны быть в структуре MATLAB, которая соответствует иерархии шин. Каждый лист структуры должен быть MATLAB timeseries объект.

Структура может занижать сигнал шины, но не должна переопределять сигнал шины. Структура не может иметь никаких элементов, которые не имеют соответствующих сигналов в шине.

Структура не требует timeseries объект для каждого элемента в иерархии шины. Однако структура должна иметь timeseries Объект по крайней мере для одного из сигналов в шине. Для сигналов, не задающих данные, блок From File выводит значения заземления.

Переменная MAT-файла

Если MAT-файл содержит только одну переменную, то блок From File использует эту переменную. Если MAT-файл содержит более одной переменной:

  • Для MAT-файлов версии 7.3 блок From File использует переменную, которая является первой в алфавитном порядке.

  • Для версии 7.0 или более ранних MAT-файлов в блоке From File используется первая переменная. Однако для этих версий алгоритм упорядоченного расположения для переменных сложен. Используйте MAT-файл, который содержит только переменную с данными, которые вы хотите загрузить в блок From File.

См. также

Блоки

Похожие темы