exponenta event banner

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

Чтобы загрузить данные сигнала в модель с помощью блока «Из файла»:

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

  2. Добавьте в модель блок «Из файла». Подключите блок «Из файла» к блоку, в который он вводит данные.

  3. Дважды щелкните блок «Из файла» и укажите:

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

    • Формат данных для вывода блока «Из файла»

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

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

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

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

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

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

Параметр «Время выборки блока из файла» определяет время выборки для загрузки данных из MAT-файла. Метки времени в файле должны быть монотонно неповторяющимися. Дополнительные сведения см. в документации по блокам «Из файла».

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

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

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

  • Выбранные методы интерполяции или экстраполяции

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

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

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

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

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

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

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

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

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

В следующей таблице описаны выходные данные блока «Из файла».

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

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

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

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

Обнаружение нулевых пересечений

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

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

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

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

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

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

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

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

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

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

Поддерживаются следующие версии файлов MAT:

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

  • Версия 7.3

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

Дополнительные сведения о MAT-файлах см. в разделе Версии MAT-файлов.

Преобразовать MAT-файлы версий 7.0 и более ранних версий.  Если имеется MAT-файл версии 7.0 или более ранней версии, который требуется использовать с блоком «Из файла», попробуйте преобразовать файл в версию 7.3. Используйте MAT-файл версии 7.3, если требуется, чтобы блок «Из файла» загружал данные постепенно во время моделирования, или если требуется использовать 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-файле должна иметь следующий вид:

[t1t2... tfinalu11u12... u1final... un1un2... uninal]

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

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

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

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

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

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

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

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

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

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

  • Нормальный

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

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

  • Ускоритель привязки модели

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

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

Метки времени в файле должны быть монотонно неповторяющимися.

Данные шины

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

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

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

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

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

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

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

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

См. также

Блоки

Связанные темы