Загрузите информацию состояния

Импортируйте начальные состояния

Чтобы инициализировать симуляцию, можно использовать:

  • Информация о конечном состоянии (с или без ModelOperatingPoint объект) от предыдущей симуляции

  • Информация состояния, которую вы создаете в MATLAB®

Используйте Configuration Parameters> параметры Data Import/Export, чтобы импортировать начальные состояния.

  1. Включите параметр Initial state.

  2. В окне редактирования Initial state введите имя переменной для получения информации состояния, которую вы хотите использовать для инициализации.

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

Можно задать Dataset, структура или структура с данными времени.

Инициализируйте состояние

Можно инициализировать определенное состояние. Этот пример создает структуру начального состояния для x2 состояние vdp модель. x1 состояние не инициализируется в структуре. Поэтому в процессе моделирования Simulink® использует значение в блоке Integrator, сопоставленном с x1 состояние.

  1. Откройте модель.

    open_system('vdp');
    
  2. Установите SaveFormat аргумент модели к 'Structure'.

    set_param('vdp','SaveFormat','Structure');
  3. Получите структуру начального состояния.

    states = Simulink.BlockDiagram.getInitialState('vdp');
  4. Установите начальное значение элемента структуры сигналов, сопоставленного с x2 к 2.

    states.signals(2).values = 2;
    
  5. Удалите элемент структуры сигналов, сопоставленный с x1.

    states.signals(1) = [];
  6. Используйте states переменная для vdp модель. Выберите параметр конфигурации начального состояния.

    set_param('vdp','LoadInitialState','on','InitialState','states');
  7. Симулируйте модель и исследуйте начальные значения 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, вы не можете загрузить данные о дискретном состоянии.

Связанные примеры

Больше о