STFunc-expression

expression (STFunc)

Works with VSimBase, VSimEM, VSimPD, VSimPA, and VSimMD licenses.

Function that can be defined by an arbitrary mathematical expression.

expression Parameters

expression (string)

Expression to be evaluated, involving the arithmetic operators + (addition), - (subtraction), * (multiplication), / (division), and ** (exponentiation), and the below functions of position and/or time:

Function Mathematical Description General Description
pow(x,y) \(x^y\) exponential, arbitrary base
exp(x) \(e^x\) exponential, base \(e\)
sin(x) \(\sin\left(x\right)\) sine
cos(x) \(\cos\left(x\right)\) cosine
tan(x) \(\tan\left(x\right)\) tangent
asin(x) \(\arcsin\left(x\right)\), \(x \in \left[-1,1\right]\) inverse sine
acos(x) \(\arccos\left(x\right)\), \(x \in \left[-1,1\right]\) inverse cosine
atan(x) \(\arctan\left(x\right)\), \(x \in \left[-\pi/2,\pi/2\right]\) inverse tangent
atan2(y,x) \(\arctan\left(y/x\right)\); \(x\) and \(y\) not both 0, inverse tangent, returns angles in correct quadrant
  \(x=0\) returns \(\pm \pi/2\)  
sinh(x) \(\sinh\left(x\right)\) hyperbolic sine
cosh(x) \(\cosh\left(x\right)\) hyperbolic cosine
tanh(x) \(\tanh\left(x\right)\) hyperbolic tangent
ln(x) \(\log_e\left(x\right)\) logarithm, base \(e\)
log(x) \(\log_e\left(x\right)\) logarithm, base \(e\)
log10(x) \(\log_{10}\left(x\right)\) logarithm, base \(10\)
mod(x,y) \(x - \lfloor x/y \rfloor y\) floating point remainder
inv(x) \(-x\) additive inverse
H(x) \(H\left(x\right)=\left\{\begin{array}{lr}0 & , x<0\\0.5 & , x=0\\1 & , x>0\end{array}\right.\) Heaviside step function
J0(x) \(J_0\left(x\right)\) Bessel function of the first kind, order 0
J1(x) \(J_1\left(x\right)\) Bessel function of the first kind, order 1
J2(x) \(J_2\left(x\right)\) Bessel function of the first kind, order 2
J3(x) \(J_3\left(x\right)\) Bessel function of the first kind, order 3
abs(x) \(\left|x\right|\) absolute value
sqrt(x) \(\sqrt{x}\) square root
rand(x)   uniform random number in \(\left[0, 1\right)\), independent of \(x\)
gauss(x,y)   Gaussian random number with standard deviation \(x\) and mean \(y\)
ceil(x) \(\lceil x \rceil\) smallest integer not less than x
floor(x) \(\lfloor x \rfloor\) largest integer not greater than x
min(x,y) \(x\) if \(x \le y\), else \(y\) minimum
max(x,y) \(x\) if \(x \ge y\), else \(y\) maximum

Example expression Block

<STFunc component0>
  kind = expression
  expression = 100.*sin(2.0e9*t)
</STFunc>