Условные уравнения можно задать с помощью 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, задайте следующее кусочное уравнение:
1x2otherwise
Это уравнение, написанное на языке 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