数学函数 ( DataStage® )

数学函数执行数学运算。

数学函数位于表达式编辑器的数学类别中。 方括号表示该参数为可选参数。 这些示例展示了该函数在 Transformer stage 的推导字段中的呈现形式。
Abs
返回任意数字表达式的绝对值。 表达式的绝对值是其无符号量级。
  • 输入 :数值表达式( int32 )
  • 输出 :结果(浮点数)
  • 示例。 如果 mylink.number1 包含数字 12,而 mylink.number2 包含数字 34,那么以下两个函数是等效的,且返回数字 22:
    Abs(12-34)
    Abs(mylink.mynumber1-mylink.mynumber2)
    
    如果 mylink.number1 包含数字 34,而 mylink.number2 包含数字 12,那么以下两个函数是等效的,且返回数字 22:
    Abs(34-12)
    Abs(mylink.mynumber1-mylink.mynumber2)
    
Acos
计算表达式的三角反余弦值。 该表达式的值必须是数字值。 结果以弧度表示。
  • 输入 :数值表达式(浮点数)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字 0.707106781 ,则以下两个函数等价,并返回值 0.785398:
    Acos(0.707106781)
    Acos(mylink.mynumber)
    
Asin
计算表达式的三角反正弦值。 该表达式的值必须是数字值。 结果以弧度表示。
  • 输入 :数值表达式(浮点数)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字 0.707106781 ,则以下两个函数等价,并返回值 0.785398:
    Asin(0.707106781)
    Asin(mylink.mynumber)
    
Atan
计算表达式的三角反正切值。 该表达式的值必须是数字值。 结果以弧度表示。
  • 输入 :数值表达式(浮点数)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字135,则以下两个函数等价,并返回值 1.56339 ——该值对应的角具有正切值为135°:
    Atan(135)
    Atan(mylink.mynumber)
    
Atan2
通过使用两个输入的符号计算两个输入的三角反正切,以确定结果的象限。 输入必须为数字值。 结果以弧度表示。
  • 输入 :数值表达式(dfloat, dfloat)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number1 包含数字 10.0 ,且 mylink.number2 包含数字 -10.0 ,则以下两个函数等价,并返回值 2.35619:
    Atan2(10.0. -10.0)
    Atan2(mylink.mynumber1, mylink.mynumber2)
Ceil
计算大于等于指定十进制值的最小整数值。
  • 输入 :数字(浮点型)
  • 输出 :结果( int32 )
  • 示例。 若 mylink.number 包含数字 2355.66 ,则以下两个函数等价,且返回值均为 2356:
    Ceil(2355.66)
    Ceil(mylink.mynumber)
    
Cos
计算表达式的三角余弦值。 该表达式的值必须是数字值。 该表达式必须生成一个数字值,该数字值是以弧度表示的角度。
  • 输入 :弧度(双精度浮点数)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字 0.785398 ,则以下两个函数等价,并返回值 0.7071:
    Cos(0.785398)
    Cos(mylink.mynumber)
    
Cosh
计算表达式的双曲余弦值。 该表达式的值必须是数字值。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字2,则以下两个函数等价,并返回值 3.7622:
    Cosh(2)
    Cosh(mylink.mynumber)
    
分区
输出两个实数 (dividend, divisor) 实际相除后得到的整数部分。
  • 输入 :被除数 (dfloat),除数 (dfloat)
  • 输出 :结果( int32 )
  • 示例。 如果 mylink.dividend 包含数字 100,而 mylink.divisor 包含数字 25,那么以下两个函数是等效的,并将返回值 4:
    Div(100,25)
    Div(mylink.dividend,mylink.divisor)
    
扩充
计算以 e 为底,表达式值指定次幂的结果。 e 的值近似于 2.71828。 该表达式的值必须是数字值。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字5,则以下两个函数等价,并返回值 54.5982:
    Exp(5-1)
    Exp(mylink.number-1)
    
Fabs
计算指定浮点值的绝对值。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字 -26.53 ,则以下两个函数等价,并返回值 26.53:
    Fabs(-26.53)
    Fabs(mylink.number)
    
Floor
计算小于等于指定十进制值的最大整数值。
  • 输入 :数字(浮点型)
  • 输出 :结果( int32 )
  • 示例。 如果 mylink.number 包含数字 203.25 ,则以下两个函数等价,并返回值 203:
    Floor(203.25)
    Floor(mylink.number)
    
Ldexp
返回 2 的指数次幂乘以尾数的双精度浮点值。
  • 输入 :尾数(dfloat),指数( int32 )
  • 输出 :结果(浮点数)
  • 示例。 如果 mylink.mantissa 包含数字 2,而 mylink.exponent 包含数字 3,那么以下两个函数是等价的,且返回值为 16:
    Floor(2,3)
    Floor(mylink.mantissa,mylink.exponent)
    
Llabs
计算指定整数值的绝对值。
  • 输入 :数字(整数)
  • 输出 :结果(无符号整数)
  • 示例。 如果 mylink.number 包含数字 -26,则以下两个函数等价,并返回值 26:
    Llabs(-26)
    Llabs(mylink.number)
    
计算表达式的自然对数,底数为ee 的值近似于 2.71828。 该表达式的值必须为大于 0 的数字值。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字6,则以下两个函数等价,并返回值 1.79176:
    Ln(6)
    Ln(mylink.number)
    
Log10
返回指定值的以 10 为底的对数。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字6,则以下两个函数等价,并返回值 0.778151:
    Log10(6)
    Log10(mylink.number)
    
最大值
返回两个参数值中较大的值。
  • 输入 : number1 ( int32 ), number2(int32 )
  • 输出 :结果( int32 )
  • 示例。 如果 mylink.number1 包含数字 6,而 mylink.number1 包含数字 101,那么以下两个函数是等效的,并将返回值 101:
    Max(6,101)
    Max(mylink.number1,mylink.number2)
    
最小值
返回两个参数值中较小的值。
  • 输入 : number1 ( int32 ), number2(int32 )
  • 输出 :结果( int32 )
  • 示例。 如果 mylink.number1 包含数字 6,而 mylink.number1 包含数字 101,那么以下两个函数是等价的,且返回值均为 6:
    Min(6,101)
    Min(mylink.number1,mylink.number2)
    
Mod
计算两个表达式 (dividend, divisor) 的模数(余数)。
  • 输入 :股息( int32 ),除数( int32 )
  • 输出 :结果( int32 )
  • 示例。 如果 mylink.dividend 包含数字 115,而 mylink.divisor 包含数字 25,那么以下两个函数是等价的,且返回值均为 15:
    Mod(115,25)
    Mod(mylink.dividend,mylink.divisor)
    
Neg
对数字求反。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例。 如果 mylink.number 包含数字 123,那么以下两个函数是等价的,且返回值为 -123:
    Neg(123)
    Neg(mylink.number)
    
Pwr
计算表达式的指定次幂的值 (expression, power)。
  • 输入 :表达式(dfloat),幂(dfloat)
  • 输出 :结果(浮点数)
  • 示例。 如果 mylink.expression 包含数字 2,而 mylink.power 包含数字 3,那么以下两个函数是等效的,并将返回值 8:
    Pwr(2,3)
    Pwr(mylink.expression,mylink.power)
    
兰特
返回 0 到 232-1 之间的伪随机整数。
  • 输入 :不适用
  • 输出 :结果( uint32 )
  • 示例。 使用此函数可在输出中添加一列包含伪随机数的列:
    Rand()
随机
返回一个介于0和 2 ³²-1之间的随机数。
  • 输入 :不适用
  • 输出 :结果( uint32 )
  • 示例。 使用此函数可在输出中添加一列,该列包含一个随机数:
    Random()
Sin
计算表达式的三角正弦值。 该表达式的值必须是数字值。 该表达式必须生成一个数字值,该数字值是以弧度表示的角度。
  • 输入 :弧度(双精度浮点数)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字 0.785398 ,则以下两个函数等价,并返回值 0.7071:
    Sin(0.785398)
    Sin(mylink.mynumber)
    
Sinh
计算表达式的双曲正弦值。 该表达式的值必须是数字值。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例 :若 mylink.number 包含数字2,则以下两个函数等价,并返回值 3.62686:
    Sinh(2)
    Sinh(mylink.mynumber)
    
平方根
计算数字的平方根。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例 :若 mylink.number 包含数字450,则以下两个函数等价,并返回值 21.2132:
    Sqrt(450)
    Sqrt(mylink.mynumber)
    
黄褐色
计算表达式的三角正切值。 该表达式必须生成一个数字值,该数字值是以弧度表示的角度。
  • 输入 :弧度(双精度浮点数)
  • 输出 :结果(浮点数)
  • 示例。 若 mylink.number 包含数字 0.7853981 ,则以下两个函数等价,并返回值 0.7071:
    Tan(0.7853981)
    Tan(mylink.mynumber)
    
Tanh
计算表达式的双曲正切值。 该表达式的值必须是数字值。
  • 输入 :数字(浮点型)
  • 输出 :结果(浮点数)
  • 示例 :若 mylink.number 包含数字2,则以下两个函数等价,并返回值 0.964028:
    Tanh(2)
    Tanh(mylink.mynumber)