Сохраните информацию состояния

Сохраните информацию состояния для каждого шага симуляции

Можно сохранить информацию состояния для регистрируемых состояний для каждого шага симуляции во время симуляции. Тот уровень информации состояния может быть полезным для отладки.

  1. Установите флажок Configuration Parameters> Data Import/Export> States.

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

  3. Также в панели Data Import/Export, установленной параметр Format на Dataset, Structure или Structure with time, если вы не используете формат массивов для совместимости с устаревшей моделью.

    Формат Dataset не поддерживает:

    • Журналирование информации о состояниях в подсистеме вызова функций

    • Быстрый режим симуляции акселератора

    • Генерация кода

  4. Нажмите Apply.

  5. Моделируйте модель.

Сохраните частичную информацию конечного состояния

Сохранить только регистрируемые состояния (непрерывные и дискретные состояния блоков):

  1. Установите флажок Configuration Parameters> Data Import/Export> Final states.

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

  3. Очистите параметр Save final operating point.

  4. Установите параметр Format на Dataset, Structure или Structure with time.

  5. Нажмите Apply.

  6. Моделируйте модель.

Исследуйте информацию состояния, сохраненную без SimState

Если вы включаете Configuration Parameters> Data Import/Export> Final states или параметры States, Simulink® сохраняет информация состояния в формате, который вы задаете с параметром Format. Переменной по умолчанию для получения информации о Final state является 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, чтобы идентифицировать определенное состояние исключительно. Не полагайтесь на порядок состояний.

Сохраните информацию конечного состояния с SimState

Чтобы сохранить полную информацию состояния, сохраните SimState для симуляции.

  1. Установите флажок Configuration Parameters> Data Import/Export> Final states.

  2. Также в панели Импорта/Экспорта Данных, выберите параметр Save final operating point.

  3. В окне редактирования рядом с параметром Save final operating point введите имя переменной для SimState и нажмите Apply.

  4. Моделируйте модель.

Для получения дополнительной информации об использовании SimState смотрите, Сохраняют и Рабочая точка Симуляции Восстановления.

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

Больше о