5.7 数学函数速览
Julia 预定义了非常丰富的数学函数。一些常用的函数如下:
- 数值类型转换: 主要有
T(x)和convert(T, x)。其中,T代表目的类型,x代表源值。 - 数值特殊性判断: 有
isequal、isfinite、isinf和isnan。 - 舍入: 有四舍五入的
round(T, x)、向正无穷舍入的ceil(T, x)、向负无穷舍入的floor(T, x),以及总是向0舍入的trunc(T, x)。 - 除法: 有
cld(x, y)、fld(x, y)和div(x, y),它们分别会将商向正无穷、负无穷和0做舍入。其中的x代表被除数,y代表除数。另外,与之相关的还有取余函数rem(x, y)和取模函数mod(x, y),等等。 - 公约数与公倍数: 函数
gcd(x, y...)用于求取最大正公约数,而函数lcm(x, y...)则用于求取最小正公倍数。圆括号中的...的意思是,除了x和y,函数还允许传入更多的数值。但要注意,这里的数值都应该是整数。 - 符号获取: 函数
sign(x)和signbit(x)都用于获取一个数值的符号。但不同的是,前者对于正整数、0和负整数会分别返回1、0和-1,而后者会分别返回false、false和true。 - 绝对值获取: 用于获取绝对值的函数是
abs(x)。一个相关的函数是,用于求平方的abs2(x)。 - 求根: 函数
sqrt(x)用于求取x的平方根,而函数cbrt(x)则用于求取x的立方根。 - 求指数: 函数
exp(x)会求取x的自然指数。另外还有expm1(x),为接近0的x计算exp(x)-1。 - 求对数:
log(x)会求取x的自然对数,log(b, x)会求以b为底的x的对数,而log2(x)和log10(x)则会分别以2和10为底求对数。另外还有log1p(x),为接近0的x计算log(1+x)。
除了以上函数之外,Julia 的Base包中还定义了很多三角函数和双曲函数,比如sin、cos、atanh、acoth等等。另外,在SpecialFunctions.jl包里还有许多特殊的数学函数。不过这个包就需要我们手动下载了。
