Искусственные алгебраические циклы

Искусственный алгебраический цикл происходит, когда атомарная подсистема или блок Model заставляют Simulink обнаруживать алгебраический цикл, даже при том, что содержимое подсистемы не содержит прямое сквозное соединение от входа до выхода. Когда вы создаете атомарную подсистему, все блоки Inport являются прямым сквозным соединением, приводящим к алгебраическому циклу.

Начните с включенной модели, которая представляет простое пропорциональное управление объекта, описанного

$$ G(s) = \frac{1}{s^2+2s+1}$$

который может быть переписан в форме пространства состояний как

$$
\dot{x} = \left[
    \begin{array}{cc}
    -2 & -1 \\
1 & 0
    \end{array}
    \right]
+ \left(
\begin{array}{c}
0\\1
\end{array}
\right)
$$

$$
y = \left[\begin{array}{cc}0&1\end{array}\right]
$$

Система не имеет ни алгебраических переменных, ни прямого сквозного соединения и не содержит алгебраический цикл.

Измените модель как описано в следующих шагах:

  1. Заключите блоки Контроллера и Объекта в подсистему.

  2. В диалоговом окне подсистемы выберите Treat как атомарный модуль, чтобы сделать подсистему атомарной.

  3. В панели Диагностики Параметров конфигурации Модели, установленных Алгебраический параметр Цикла на error.

При симуляции этой модели происходит алгебраический цикл, потому что подсистема является прямым сквозным соединением, даже при том, что путь в атомарной подсистеме не является прямым сквозным соединением. Симуляция останавливается с алгебраической ошибкой цикла.