Для экспорта данных моделирования можно использовать блоки «Область», «В файл» или «В рабочую область». Каждый из этих блоков имеет параметр формата данных.
Формат данных для экспорта данных моделирования на основе модели определяет способ хранения экспортированных данных в Simulink ®.
Simulink использует различные форматы данных в зависимости от типа экспортируемых данных. Для получения более подробной информации см.:
Регистрация сигналов используется всегда Dataset формат. Можно указать, следует ли регистрировать данные для отдельных сигналов как timeseries или timetable объекты.
Управление способом Dataset сохранение элементов, установка параметра конфигурации формата сигнала набора данных. Значение по умолчанию: timeseries. Дополнительные сведения см. в разделе Формат сигнала набора данных.
Параметр Dataset signal format применяется к регистрации сигналов, а также к выходным данным и данным состояний, если для параметра Format установлено значение Dataset.
При регистрации данных хранилища Simulink использует Simulink.SimulationData.Dataset объект.
Дополнительные сведения см. в разделе Доступ к данным ведения журнала хранилища данных.
Для экспортированного времени, состояний и выходных данных используйте один из следующих форматов:
Набор данных (по умолчанию)
Если установлен флажок Параметры конфигурации > Импорт/экспорт данных > Вывод, Simulink регистрирует данные с фиксированной точкой как двойные. Для регистрации данных с фиксированной точкой следует использовать один из следующих подходов:
Регистрация сигналов - дополнительные сведения см. в разделе Экспорт данных сигналов с использованием регистрации сигналов.
В редакторе Simulink выберите один или несколько сигналов.
Щелкните Log Signals (Регистрация сигналов).
В блок файла
К блоку рабочей области - в диалоговом окне «К параметрам блока рабочей области» включите параметр «Регистрировать данные с фиксированной точкой» в качестве параметра объекта fi.
Сведения о формате зарегистрированных данных об окончательном состоянии см. в разделе Сведения о состоянии.
По умолчанию время, состояния и выходные данные регистрируются с помощью Dataset формат. Dataset формат:
Сохранение зарегистрированных данных в timeseries или timetable объекты. Можно работать с данными, сохраненными в timeseries или timetable объект в MATLAB ® без лицензии Simulink.
Поддерживает протоколирование нескольких значений данных для данного временного шага, которые могут потребоваться для протоколирования данных в подсистеме для итератора, в подсистеме итератора и в модуле Stateflow ®.
Не поддерживает ведение журнала состояний в подсистеме вызова функций или во время быстрого моделирования ускорителя.
Не поддерживает создание кода.
Регистрация сигналов всегда использует Dataset формат. Регистрация состояний и выходных данных с помощью Dataset позволяет выполнять постобработку данных моделирования без написания пользовательского кода для различных типов регистрируемых данных. При регистрации состояний и выходных данных с помощью Dataset В формате данные также автоматически передаются в инспектор данных моделирования во время моделирования.
Если выбрать этот параметр Array опция Simulink сохраняет состояния и выходные данные модели в состоянии и в выходном массиве соответственно.
Матрица состояний имеет имя, указанное на панели Параметры конфигурации > Импорт/экспорт данных (например, xout). Каждая строка матрицы состояний соответствует временной выборке состояний модели. Каждый столбец соответствует элементу состояния. Например, предположим, что модель имеет два непрерывных состояния, каждое из которых является двухэлементным вектором. Тогда первые два элемента каждой строки матрицы состояний содержат временную выборку первого вектора состояний. Последние два элемента каждой строки содержат временную выборку второго вектора состояния.
Матрица вывода модели имеет имя, указанное на панели Параметры конфигурации (Configuration Parameters) > Импорт/экспорт данных (Data Import/Export) (например, yout). Каждый столбец соответствует выходному порту модели, а каждая строка - выходам в определенное время.
Примечание
Используйте формат массива для сохранения выходных данных и состояний модели только в том случае, если записанные данные соответствуют всем следующим условиям:
Данные - это все скаляры или все векторы (или все матрицы для состояний)
Все данные реальны или сложны
Все данные имеют одинаковый тип данных
Данные включают сигналы шины
Если выходные данные и состояния модели не соответствуют этим условиям, используйте Structure или Structure with time форматы вывода (см. Структура со временем).
Если выбран этот формат, Simulink сохраняет состояния модели и выводит в структурах, имена которых заданы на панели Параметры конфигурации (Configuration Parameters) > Импорт/экспорт данных (Data Import/Export). По умолчанию структуры: xout для состояний и yout для вывода.
Структура, используемая для сохранения выходных данных, имеет два поля верхнего уровня:
time
Содержит вектор времени моделирования.
signals
Содержит массив подструктур, каждая из которых соответствует выходному порту модели.
Каждая подструктура имеет четыре поля:
values
Содержит выходные сигналы для соответствующего выходного порта.
Если выходами являются скаляры или векторы - values поле - матрица, каждая из строк которой представляет выходной сигнал в момент времени, заданный соответствующим элементом вектора времени.
Если продукция - матричные (2-е) ценности - values поле представляет собой 3-D массив измерений M-by-N-by-T. M-by-N - размеры выходного сигнала, а T - количество выходных выборок.
Если T = 1 - MATLAB сбрасывает последний размер. Следовательно, values поле является матрицей M-by-N.
dimensions
Определяет размеры выходного сигнала.
label
Указывает метку сигнала, подключенного к выходному порту, блоку S-Function или типу состояния (непрерывного или дискретного). Метка: DSTATE или CSTATE, за исключением меток состояния блока S-Function. Для меток состояния блока S-Function для дискретных состояний метка является именем состояния (вместо DSTATE).
blockName
Указывает имя соответствующего выходного порта или блока с состояниями.
inReferencedModel
Если signals записывает конечное состояние блока, который находится в ссылочной модели, содержит значение 1. В противном случае значение равно false (0).
В следующем примере показан формат structure-with-time для ссылочной модели.
xout.signals(1)
ans =
values: [296206x1 double]
dimensions: 1
label: 'CSTATE'
blockName: 'vdp/x1'
inReferencedModel: 0
Структура, используемая для сохранения состояний, имеет аналогичную организацию. Структура состояний имеет два поля верхнего уровня:
time
time содержит вектор времени моделирования.
signals
Поле содержит массив подструктур, каждая из которых соответствует одному из состояний модели.
Каждый signals структура имеет четыре поля: values, dimensions, label, и blockName. values содержит временные выборки состояния блока, указанного blockName поле. label поле для встроенных блоков указывает тип состояния: CSTATE (непрерывное состояние) или DSTATE (дискретное состояние). Для S-функциональных блоков метка содержит любое имя, присвоенное состоянию блоком S-Function.
Временные выборки состояния хранятся в values поле как матрица значений. Каждая строка соответствует временной выборке. Каждый элемент строки соответствует элементу состояния. Если состояние является матрицей, матрица сохраняется в values массив в порядке «основной столбец». Например, предположим, что модель включает состояние матрицы 2 на 2 и что 51 выборка состояния регистрируется во время прогона моделирования.
values поле для этого состояния будет содержать матрицу 51 на 4. Каждая строка соответствует временной выборке состояния, и первые два элемента каждой строки соответствуют первому столбцу выборки. Последние два элемента соответствуют второму столбцу образца.
Примечание
Simulink может считывать данные моделирования, сохраненные в рабочем пространстве MATLAB в Structure with time формат вывода. Для получения дополнительной информации см. Примеры указания сигналов и временных данных.
Этот формат тот же, что и для Structure with time формат вывода, за исключением того, что Simulink не сохраняет время моделирования в time поле сохраненной структуры.
Simulink.SimulationData.Dataset | Simulink.SimulationData.forEachTimeseries