数学函数 ( DataStage® )
数学函数执行数学运算。
数学函数位于表达式编辑器的数学类别中。 方括号表示该参数为可选参数。 这些示例展示了该函数在 Transformer stage 的推导字段中的呈现形式。
- Abs
- 返回任意数字表达式的绝对值。 表达式的绝对值是其无符号量级。
- 输入 :数值表达式( int32 )
- 输出 :结果(浮点数)
- 示例。 如果 mylink.number1 包含数字 12,而 mylink.number2 包含数字 34,那么以下两个函数是等效的,且返回数字 22:
如果 mylink.number1 包含数字 34,而 mylink.number2 包含数字 12,那么以下两个函数是等效的,且返回数字 22:Abs(12-34) Abs(mylink.mynumber1-mylink.mynumber2)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)
- 行
- 计算表达式的自然对数,底数为e。 e 的值近似于 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)