initial

Задайте начальный режим в графике режима

Синтаксис

initial init_mode : predicate_condition end     

Описание

initial начинает начальное построение режима в графике режима. Построение отключено end ключевое слово. Это содержит один оператор со следующим синтаксисом:

init_mode : predicate_condition

где:

  • init_mode режим, активный в начале симуляции если выражение в predicate_condition верно.

  • Если predicate_condition является ложным, затем первый режим, перечисленный в modes раздел активен в начале симуляции.

predicate_condition должно быть параметрическое выражение, потому что оно оценено во время компиляции. Используя переменную в предикате приводит к ошибке времени компиляции.

initial построение является дополнительным. Если график режима не содержит initial создайте, затем первый режим, перечисленный в modes раздел активен в начале симуляции.

Например, график режима объявляет три режима, m1, m2, и m3:

modes
    mode m1
    ...
    end
    mode m2
    ...
    end
    mode m3
    ...
    end
end

По умолчанию, режим m1 активно в начале симуляции. Если вы включаете следующий initial построение:

initial
    m2 : p1
end

затем, если p1 предикат верен, симуляция запускается в режиме m2; в противном случае, в режиме m1.

initial построение может иметь несколько начальных операторов режима, например:

initial
    m2 : p1
    m3 : p2
end

В этом случае:

  • Если p1 предикат верен, симуляция запускается в режиме m2.

  • Если p2 предикат верен, симуляция запускается в режиме m3.

  • Если оба предиката верны, симуляция запускается в режиме m2 (первый перечислен в initial разделите).

  • Если оба предиката являются ложными, симуляция запускается в режиме m1 (первый перечислен в modes разделите).

Во время инициализации решатель устанавливает начальный режим сначала, и затем проверяет переходы. Если предикат перехода верен во время инициализации, система может запуститься в различном режиме, чем заданный initial создать. Например, рассмотрите график режима, который объявляет три режима, m1, m2, и m3, и задает следующие переходы и начальные режимы:

transitions
    m3 -> m2 : p1
end
initial
    m2 : p2
    m3 : p3
end

Если предикаты p1 и p3 оба верны во время инициализации, решатель устанавливает m3 как начальный режим, но система сразу переходы от режима m3 к режиму m2, и симуляция запускается в режиме m2.

Введенный в R2017a