在Praat中封装了很多常用的数学函数,以方便我们要脚本中进行调用,这一节我们就来看看这些函数都有哪些。
在学习函数之前我们先来了解一下Praat中几个内置的特殊值:
pi:也就是我们平时用的 π,3.141592653589793
e:也是我们平时用的 e,2.718281828459045
undefined:一个特殊的值,它不代表任何值。在Praat中,如果计算出错,或在脚本中用命令取值却取不到时,或者所要计算的值超出了范围,都会用undefined来表示,如果你将其输出,在输出窗口中就会显示“--undefined--”。如:2/0=undefined(0不能当作被除数),10^400=undefined(10的400次方超出计算的最大范围,sqrt(-1)=undefined(负数不能被开平方))
abs(x) ;求x的绝对值
例:abs(1)=1,abs(-1)=1
round(x) ;求x四舍五入的整数
例:round(1.1)=1,round(1.6)=2,round(-1.1)=-1,round(-1.6)=-2
floor(x) ;向下取整,即求小于等于x的整数
例:floor(1.6)=1,floor(-1.6)=-2
ceiling(x) ;向上取整,即求大于等于x的整数
例:ceiling(1.6)=2,ceiling(-1.6)=-1
sqrt(x) ;求x的开方数,即平方根√x (x>=0)
例:sqrt(2)=1.4142135623730951,sqrt(4)=2
min(x1,x2,x3, ...) ;求括号中x1,x2,x3……一系列数的最小值,每个数用英文逗号隔开
例:min(8,9,5,3,4,6)=3,括号中3最小
man(x1,x2,x3, ...) ;求括号中x1,x2,x3……一系列数的最大值,每个数用英文逗号隔开
例:min(8,9,5,3,4,6)=9,括号中9最大
min(x1,x2,x3, ...) ;求括号中x1,x2,x3……一系列数的最小值所在的序号,每个数用英文逗号隔开
例:min(8,9,5,3,4,6)=4,括号中最小是3,它排在第4个数
man(x1,x2,x3, ...) ;求括号中x1,x2,x3……一系列数的最大值所在的序号,每个数用英文逗号隔开
例:min(8,9,5,3,4,6)=2,括号中最大是9,它排在第2个数
randomUniform (min, max) ;产生一个大于等于min,小于max的随机数(有小数点)
例:randomUniform (1, 3)=1.942584603151281,每执行一次得到的值都会不一样,但都会在范围之内
randomInteger (min, max) ;产生一个大于等于min,小于等于max的随机整数(没有小数点)
例:randomInteger (1, 10)=3,每执行一次得到的值都会不一样,但都会在范围之内
注意:以下三角函数中x的计量单位用的是弧度,不是我们平时常用的度(°),1°=π/180
sin(x) ;求x的正弦值
cos(x) ;求x的余弦值
tan(x) ;求x的正切值
arcsin(x) ;求x的反正弦值 -1 ≤ x ≤ 1
arccos(x) ;求x的反余弦值 -1 ≤ x ≤ 1
arctan(x) ;求x的反正切值
arctan2 (y, x) ;求arctan(y/x)的值
sinc (x) ;求 sin(x)/x的值
sincpi (x) ;求 sin (πx) / (πx)的值
exp (x) ;求e的x次方,即e^x
ln (x) ;求x以e为底的对数值
log10 (x) ;求x以10为底的对数值
log2 (x) ;求x以2为底的对数值
sinh (x) ;求双曲正弦值,等于:(ex - e-x) / 2
sinh (x) ;求双曲余弦值,等于:(ex + e-x) / 2
tanh (x) ;求双曲正切值,等于:sinh (x) / cosh (x)
arcsinh (x) ;求反双曲正弦值,等于:ln (x + √(1+x2))
arccosh (x) ;求反双曲余弦值,等于:ln (x + √(x2-1))
arctanh (x) ;求反双曲正切值,等于:cosh (x) / sinh (x)
更多数学函数可以参考官方文档:
http://www.fon.hum.uva.nl/praat/manual/Formulas_4__Mathematical_functions.html
原创作品,未经授权不可进行转载。
如您觉得本文对您有帮助,可以赞助博主一杯奶茶吗