Можно задать условные уравнения при помощи операторов if
.
equations [...] if Expression [...] elseif Expression [...] else [...] end [...] end
Каждый раздел [...]
может содержать одно или несколько выражений уравнения.
Можно вложить операторы if
, например:
equations [...] if Expression [...] if Expression [...] else [...] end else [...] end [...] end
Каждый if
требует else
.
Общее количество выражений уравнения, их размерности и их порядка должно быть тем же самым для каждого ответвления оператора if-elseif-else
. Однако это правило не применяется к выражениям assert
, потому что они не включены в выражение, значат ответвление.
Для компонента, где x и y объявляются как 1x1 переменные, задайте следующее кусочное уравнение:
Это уравнение, написанное в языке Simscape™, было бы похоже:
equations if x >= -1 && x <= 1 y == x; else y == x^2; end end
Другой способ написать это уравнение в языке Simscape:
equations y == if x>=-1 && x<=1, x else x^2 end end