Package Modelica.​Math
Library of mathematical functions (e.g., sin, cos) and of functions operating on vectors and matrices

Information

This package contains basic mathematical functions (such as sin(..)), as well as functions operating on vectors, matrices, nonlinear functions, and Boolean vectors.

Main Authors

Martin Otter and Marcus Baur
Deutsches Zentrum für Luft- und Raumfahrt e.V. (DLR)
Institut für Systemdynamik und Regelungstechnik (DLR-SR)
Forschungszentrum Oberpfaffenhofen
D-82234 Wessling
Germany
email: Martin.Otter@dlr.de

Copyright © 1998-2019, Modelica Association and contributors

Extends from Modelica.​Icons.​Package (Icon for standard packages).

Package Contents

NameDescription
acosInverse cosine (-1 <= u <= 1)
acoshInverse of cosh (area hyperbolic cosine)
asinInverse sine (-1 <= u <= 1)
asinhInverse of sinh (area hyperbolic sine)
atanInverse tangent
atan2Four quadrant inverse tangent
atan3Four quadrant inverse tangent (select solution that is closest to given angle y0)
baseIcon1This icon will be removed in future Modelica versions, use Modelica.Math.Icons.AxisLeft instead.
baseIcon2This icon will be removed in future Modelica versions, use Modelica.Math.Icons.AxisCenter instead.
BooleanVectorsLibrary of functions operating on Boolean vectors
cosCosine
coshHyperbolic cosine
DistributionsLibrary of distribution functions
expExponential, base e
FastFourierTransformLibrary of functions for the Fast Fourier Transform (FFT)
IconsIcons for Math
isEqualDetermine if two Real scalars are numerically identical
isPowerOf2Determine if the integer input is a power of 2
logNatural (base e) logarithm (u shall be > 0)
log10Base 10 logarithm (u shall be > 0)
MatricesLibrary of functions operating on matrices
NonlinearLibrary of functions operating on nonlinear equations
RandomLibrary of functions for generating random numbers
sinSine
sinhHyperbolic sine
SpecialLibrary of special mathematical functions
tanTangent (u shall not be -pi/2, pi/2, 3*pi/2, ...)
tanhHyperbolic tangent
tempInterpol1Temporary function for linear interpolation (will be removed)
tempInterpol2Temporary function for vectorized linear interpolation (will be removed)
VectorsLibrary of functions operating on vectors
wrapAngleWrap angle to interval ]-pi,pi] or [0,2*pi[

Function Modelica.​Math.​isEqual
Determine if two Real scalars are numerically identical

Information

Syntax

Math.isEqual(s1, s2);
Math.isEqual(s1, s2, eps=0);

Description

The function call "Math.isEqual(s1, s2)" returns true, if the two Real scalars s1 and s2 are identical. Otherwise the function returns false. The equality check is performed by "abs(s1-s2) ≤ eps", where "eps" can be provided as third argument of the function. Default is "eps = 0".

Example

  Real s1 = 2.0;
  Real s2 = 2.0;
  Real s3 = 2.000001;
  Boolean result;
algorithm
  result := Math.isEqual(s1,s2);     // = true
  result := Math.isEqual(s1,s3);     // = false
  result := Math.isEqual(s1,s3,0.1); // = true

See also

Vectors.isEqual, Matrices.isEqual, Strings.isEqual

Extends from Modelica.​Icons.​Function (Icon for functions).

Inputs

TypeNameDescription
Reals1First scalar
Reals2Second scalar
RealepsThe two scalars are identical if abs(s1-s2) <= eps

Outputs

TypeNameDescription
Booleanresult= true, if scalars are identical

Function Modelica.​Math.​isPowerOf2
Determine if the integer input is a power of 2

Information

Syntax

Math.isPowerOf2(i);

Description

The function call "Math.isPowerOf2(i)" returns true, if the Integer input i is a power of 2. Otherwise the function returns false. The Integer input has to be >=1.

Example

  Integer i1 = 1;
  Integer i2 = 4;
  Integer i3 = 9;
  Boolean result;
algorithm
  result := Math.isPowerOf2(i1);     // = true 2^0
  result := Math.isPowerOf2(i2);     // = true 2^2
  result := Math.isPowerOf2(i3);     // = false

Extends from Modelica.​Icons.​Function (Icon for functions).

Inputs

TypeNameDescription
IntegeriInteger scalar

Outputs

TypeNameDescription
Booleanresult= true, if integer scalar is a power of 2

Function Modelica.​Math.​sin
Sine

Information

This function returns y = sin(u), with -∞ < u < ∞:

Extends from Modelica.​Math.​Icons.​AxisLeft (Basic icon for mathematical function with y-axis on left side).

Inputs

TypeNameDescription
Angleu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​cos
Cosine

Information

This function returns y = cos(u), with -∞ < u < ∞:

Extends from Modelica.​Math.​Icons.​AxisLeft (Basic icon for mathematical function with y-axis on left side).

Inputs

TypeNameDescription
Angleu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​tan
Tangent (u shall not be -pi/2, pi/2, 3*pi/2, ...)

Information

This function returns y = tan(u), with -∞ < u < ∞ (if u is a multiple of (2n-1)*pi/2, y = tan(u) is +/- infinity).

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Angleu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​asin
Inverse sine (-1 <= u <= 1)

Information

This function returns y = asin(u), with -1 ≤ u ≤ +1:

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Angley 

Function Modelica.​Math.​acos
Inverse cosine (-1 <= u <= 1)

Information

This function returns y = acos(u), with -1 ≤ u ≤ +1:

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Angley 

Function Modelica.​Math.​atan
Inverse tangent

Information

This function returns y = atan(u), with -∞ < u < ∞:

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Angley 

Function Modelica.​Math.​atan2
Four quadrant inverse tangent

Information

This function returns y = atan2(u1,u2) such that tan(y) = u1/u2 and y is in the range -pi < y ≤ pi. u2 may be zero, provided u1 is not zero. Usually u1, u2 is provided in such a form that u1 = sin(y) and u2 = cos(y):

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu1 
Realu2 

Outputs

TypeNameDescription
Angley 

Function Modelica.​Math.​atan3
Four quadrant inverse tangent (select solution that is closest to given angle y0)

Information

This function returns y = atan3(u1,u2,y0) such that tan(y) = u1/u2 and y is in the range: -pi < y-y0 ≤ pi.
u2 may be zero, provided u1 is not zero. The difference to Modelica.Math.atan2(..) is the optional third argument y0 that allows to specify which of the infinite many solutions shall be returned:

Note, for the default case (y0=0), exactly the same result as with atan2(..) is returned.

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu1 
Realu2 
Angley0y shall be in the range: -pi < y-y0 <= pi

Outputs

TypeNameDescription
Angley 

Function Modelica.​Math.​sinh
Hyperbolic sine

Information

This function returns y = sinh(u), with -∞ < u < ∞:

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​cosh
Hyperbolic cosine

Information

This function returns y = cosh(u), with -∞ < u < ∞:

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​tanh
Hyperbolic tangent

Information

This function returns y = tanh(u), with -∞ < u < ∞:

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​asinh
Inverse of sinh (area hyperbolic sine)

Information

The function returns the area hyperbolic sine of its input argument u. This inverse of sinh(..) is unique and there is no restriction on the input argument u of asinh(u) (-∞ < u < ∞):

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​acosh
Inverse of cosh (area hyperbolic cosine)

Information

This function returns the area hyperbolic cosine of its input argument u. The valid range of u is

  +1 ≤ u < +∞

If the function is called with u < 1, an error occurs. The function cosh(u) has two inverse functions (the curve looks similar to a sqrt(..) function). acosh(..) returns the inverse that is positive. At u=1, the derivative dy/du is infinite. Therefore, this function should not be used in a model, if u can become close to 1:

Extends from Modelica.​Math.​Icons.​AxisLeft (Basic icon for mathematical function with y-axis on left side).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​exp
Exponential, base e

Information

This function returns y = exp(u), with -∞ < u < ∞:

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​log
Natural (base e) logarithm (u shall be > 0)

Information

This function returns y = log(10) (the natural logarithm of u), with u > 0:

Extends from Modelica.​Math.​Icons.​AxisLeft (Basic icon for mathematical function with y-axis on left side).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​log10
Base 10 logarithm (u shall be > 0)

Information

This function returns y = log10(u), with u > 0:

Extends from Modelica.​Math.​Icons.​AxisLeft (Basic icon for mathematical function with y-axis on left side).

Inputs

TypeNameDescription
Realu 

Outputs

TypeNameDescription
Realy 

Function Modelica.​Math.​wrapAngle
Wrap angle to interval ]-pi,pi] or [0,2*pi[

Information

This function wraps the input angle u to the interval ]-pi,pi], if positiveRange == false. Otherwise the input angle u is wrapped to the interval [0,2*pi[.

Extends from Modelica.​Math.​Icons.​AxisCenter (Basic icon for mathematical function with y-axis in the center).

Inputs

TypeNameDescription
AngleuInput angle
BooleanpositiveRangeUse only positive output range, if true

Outputs

TypeNameDescription
AngleyWrapped output angle

Partial Function Modelica.​Math.​baseIcon1
This icon will be removed in future Modelica versions, use Modelica.Math.Icons.AxisLeft instead.

Information

This icon will be removed in future versions of the Modelica Standard Library. Instead the icon Modelica.Math.Icons.AxisLeft shall be used.

Extends from Modelica.​Icons.​ObsoleteModel (Icon for classes that are obsolete and will be removed in later versions).


Partial Function Modelica.​Math.​baseIcon2
This icon will be removed in future Modelica versions, use Modelica.Math.Icons.AxisCenter instead.

Information

This icon will be removed in future versions of the Modelica Standard Library. Instead the icon Modelica.Math.Icons.AxisCenter shall be used.

Extends from Modelica.​Icons.​ObsoleteModel (Icon for classes that are obsolete and will be removed in later versions).


Function Modelica.​Math.​tempInterpol1
Temporary function for linear interpolation (will be removed)

Information

Extends from Modelica.​Icons.​Function (Icon for functions) and Modelica.​Icons.​ObsoleteModel (Icon for classes that are obsolete and will be removed in later versions).

Inputs

TypeNameDescription
Realuinput value (first column of table)
Realtable[:,:]table to be interpolated
Integericolcolumn of table to be interpolated

Outputs

TypeNameDescription
Realyinterpolated input value (icol column of table)

Function Modelica.​Math.​tempInterpol2
Temporary function for vectorized linear interpolation (will be removed)

Information

Extends from Modelica.​Icons.​Function (Icon for functions) and Modelica.​Icons.​ObsoleteModel (Icon for classes that are obsolete and will be removed in later versions).

Inputs

TypeNameDescription
Realuinput value (first column of table)
Realtable[:,:]table to be interpolated
Integericol[:]column(s) of table to be interpolated

Outputs

TypeNameDescription
Realy[1,size(icol, 1)]interpolated input value(s) (column(s) icol of table)