贡献者: xzllxls
本文授权转载自郝林的 《Julia 编程基础》。原文链接:第 5 章 数值与运算。
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 包里还有许多特殊的数学函数。不过这个包就需要我们手动下载了。