regRoot

Anti-symmetric square root approximation with finite derivative in the origin

Information

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

This function approximates sqrt(abs(x))*sgn(x), such that the derivative is finite and smooth in x=0.

FunctionApproximationRange
y = regRoot(x)y ~= sqrt(abs(x))*sgn(x)abs(x) >>delta
y = regRoot(x)y ~= x/sqrt(delta)abs(x) << delta

With the default value of delta=0.01, the difference between sqrt(x) and regRoot(x) is 16% around x=0.01, 0.25% around x=0.1 and 0.0025% around x=1.

Syntax

y = regRoot(x, delta)

Inputs (2)

x

Type: Real

delta

Default Value: 0.01

Type: Real

Description: Range of significant deviation from sqrt(abs(x))*sgn(x)

Outputs (1)

y

Type: Real