Использование условных выражений в уравнениях

Синтаксис оператора

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

y={xдля 1<= x<=1x2иначе 

Это уравнение, написанное на 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

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте