Чтобы инициализировать симуляцию, можно использовать:
Информация о конечном состоянии (с или без ModelOperatingPoint
объект) от предыдущей симуляции
Информация состояния, которую вы создаете в MATLAB®
Используйте Configuration Parameters> параметры Data Import/Export, чтобы импортировать начальные состояния.
Включите параметр Initial state.
В окне редактирования Initial state введите имя переменной для получения информации состояния, которую вы хотите использовать для инициализации.
Начальные значения, которые задает переменная, заменяют значения начального состояния, которые блоки в модели задают в начальных параметрах условия.
Можно задать Dataset
, структура или структура с данными времени.
Можно инициализировать определенное состояние. Этот пример создает структуру начального состояния для x2
состояние vdp
модель. x1
состояние не инициализируется в структуре. Поэтому в процессе моделирования Simulink® использует значение в блоке Integrator, сопоставленном с x1
состояние.
Откройте модель.
open_system('vdp');
Установите SaveFormat
аргумент модели к 'Structure'
.
set_param('vdp','SaveFormat','Structure');
Получите структуру начального состояния.
states = Simulink.BlockDiagram.getInitialState('vdp');
Установите начальное значение элемента структуры сигналов, сопоставленного с x2
к 2.
states.signals(2).values = 2;
Удалите элемент структуры сигналов, сопоставленный с x1
.
states.signals(1) = [];
Используйте states
переменная для vdp
модель. Выберите параметр конфигурации начального состояния.
set_param('vdp','LoadInitialState','on','InitialState','states');
Симулируйте модель и исследуйте начальные значения x2
и x1
.
sim('vdp');
states
states = struct with fields: time: 0 signals: [1×1 struct]
states.signals
ans = struct with fields: values: 2 dimensions: 1 label: 'CSTATE' blockName: 'vdp/x2' stateName: '' inReferencedModel: 0 sampleTime: [0 0]
Когда вы симулируете модель, оба состояния имеют начальное значение 2. Начальное значение x2
состояние присвоено в states
структура, в то время как начальное значение x1
состояние присвоено в его блоке Integrator.
Чтобы инициализировать состояния топ-модели и моделей, на которые это ссылается, используйте структуру или структуру с форматом времени или используйте рабочую точку.
Если топ-модель находится в быстром режиме Accelerator, вы не можете загрузить данные о дискретном состоянии.