WOLFRAM SYSTEM MODELER

regStep

Approximation of a general step, such that the characteristic is continuous and differentiable

Wolfram Language

In[1]:=
SystemModel["Modelica.Fluid.Utilities.regStep"]
Out[1]:=

Information

This information is part of the Modelica Standard Library maintained by the Modelica Association.

This function is used to approximate the equation

y = if x > 0 then y1 else y2;

by a smooth characteristic, so that the expression is continuous and differentiable:

y = smooth(1, if x >  x_small then y1 else
              if x < -x_small then y2 else f(y1, y2));

In the region -x_small < x < x_small a 2nd order polynomial is used for a smooth transition from y1 to y2.

Syntax

y = regStep(x, y1, y2, x_small)

Inputs (4)

x

Type: Real

Description: Abscissa value

y1

Type: Real

Description: Ordinate value for x > 0

y2

Type: Real

Description: Ordinate value for x < 0

x_small

Default Value: 1e-5

Type: Real

Description: Approximation of step for -x_small <= x <= x_small; x_small >= 0 required

Outputs (1)

y

Type: Real

Description: Ordinate value to approximate y = if x > 0 then y1 else y2

Revisions

  • April 29, 2008 by Martin Otter:
    Designed and implemented.
  • August 12, 2008 by Michael Sielemann:
    Minor modification to cover the limit case x_small -> 0 without division by zero.