Можно сохранить информацию о состоянии для зарегистрированных состояний для каждого шага моделирования во время моделирования. Этот уровень информации о состоянии может быть полезен для отладки.
Установите флажок Параметры конфигурации > Импорт/экспорт данных > Состояния.
В поле «Состояния» можно указать другую переменную для информации о состоянии, если не требуется использовать значение по умолчанию. xout переменная.
Также на панели Импорт/экспорт данных задайте для параметра Формат значение Dataset, Structure, или Structure with time, если для совместимости с устаревшей моделью не используется формат массива.
Dataset формат не поддерживает:
Регистрация информации о состояниях в подсистеме вызовов функций
Режим быстрого моделирования ускорителя
Создание кода
Нажмите кнопку «Применить».
Моделирование модели.
Для сохранения только зарегистрированных состояний (непрерывных и дискретных состояний блоков):
Установите флажок Параметры конфигурации > Импорт/экспорт данных > Конечные состояния.
В поле редактирования «Конечные состояния» можно указать другую переменную для информации о состоянии, если не требуется использовать значение по умолчанию. xFinal переменная.
Снимите флажок «Сохранить конечную рабочую точку».
Задайте для параметра Format значение Dataset, Structure, или Structure with time.
Нажмите кнопку «Применить».
Моделирование модели.
Если включены опции «Параметры конфигурации» > «Импорт/экспорт данных» > «Конечные состояния» или «Состояния», Simulink ® сохраняет информацию о состоянии в формате, указанном с помощью параметра «Формат». Переменная по умолчанию для информации о конечном состоянии: xFinal, и переменная для информации о состоянии для информации о государствах xout.
Если в модели нет сохраненных состояний, то xFinal и xout пустые переменные. Чтобы определить, сохранились ли состояния модели, используйте isempty(xout) команда.
Например, предположим, что информация об окончательном состоянии сохранена в Dataset формат и используйте значение по умолчанию xFinal для сохраненной информации о состоянии.
xFinal
xFinal =
Simulink.SimulationData.Dataset 'xFinal' with 2 elements
Name BlockPath
______ _________
1 [1x1 State] CSTATE vdp/x1
2 [1x1 State] DSTATE vdp/x2
- Use braces { } to access, modify, or add elements using index.
Проверьте первый элемент набора данных состояния.
xFinal{1}
ans =
Simulink.SimulationData.State
Package: Simulink.SimulationData
Properties:
Name: 'CSTATE'
BlockPath: [1x1 Simulink.SimulationData.BlockPath]
Label: CSTATE
Values: [1x1 timeseries]
Например, предположим, что информация о конечном состоянии сохранена в структуре с форматом времени и используется значение по умолчанию xFinal для сохраненной информации о состоянии.
Поиск времени моделирования и количества состояний в vdp модель, введите xFinal переменная.
xFinal
xFinal =
time: 20
signals: [1x2 struct]В этом случае время моделирования составляет 20, и имеются два состояния. Для проверки первого состояния используйте эту команду.
xFinal.signals(1)
ans =
values: 2.0108
dimensions: 1
label: 'CSTATE'
blockName: 'vdp/x1'
stateName: ''
inReferencedModel: 0 values и blockName поля структуры первого состояния показывают, что конечное значение для выходного сигнала блока x1 равно 2,018.
Примечание
Если вы пишете сценарий для анализа информации о состоянии, используйте комбинацию label и blockName для однозначной идентификации конкретного состояния. Не полагайтесь на порядок государств.
Чтобы сохранить полную информацию о состоянии, сохраните ModelOperatingPoint для моделирования.
Установите флажок Параметры конфигурации > Импорт/экспорт данных > Конечные состояния.
Также на панели Импорт/экспорт данных (Data Import/Export) выберите параметр Сохранить конечную рабочую точку (Save final operating point).
В поле редактирования рядом с параметром «Сохранить конечную рабочую точку» введите имя переменной для ModelOperatingPoint и нажмите кнопку «Применить».
Моделирование модели.
Дополнительные сведения об использовании рабочей точки см. в разделе Сохранение и восстановление рабочей точки моделирования.