Julia数值计算初步

文章目录

    • 复数系统
    • 运算符
    • 三角函数
    • 指数、对数、取整

Julia系列:编程初步数组

Julia作为主打数值计算的编程语言,对一些常用的计算函数提供了非常细致的支持,十分人性化,体验之后爱不释手。

复数系统

在Juli中,用im后缀表示虚部,1+2i可表示如下

1 + 2im

但相比之下,用函数complex(1,2)来创建会更加高效,通过reim可将复数转换为实数数组的形式。

Julia提供了一些复数中必备的函数

实部 虚部 模长 共轭 相位角 极坐标形式
real imag abs conj angle cis, cispi

其中,极坐标形式即 r exp ⁡ ( i θ ) r\exp(i\theta) rexp(iθ),示例如下

z = complex(3,4)
cis(z)     # -0.018132345070290157 + 0.002584703107599785im

cispi(z)    # -3.4873373806476593e-6 + 0.0im

运算符

Julia中除了提供常见的+,-,*,/运算符之外,对除法进行了扩充,包括除号除法÷,以及从右向左除/,当然也支持求余%。这些运算符都可以当作函数使用,其中加法和乘法支持多个变量。

+(1,2,3)  # 6
-(3,5)    # -2

此外,Julia还提供了一些与除法相关的函数,

  • inv(x) = one(x) / x
  • div(x,y) = x/y 的整数部分
  • fld(x,y) = x/y 向下取整
  • cld(x,y) = x/y 向上取整
  • mod(x,y), rem(x,y) 取余数
  • mod2pi(x), rem2pi(x) x / ( 2 π ) x/(2\pi) x/(2π)的余数

Julia中乘方用^表示

3^2 # 9

除了这些基础的运算,Julia还提供了两个复合计算函数

  • fma(x,y,z)=x*y+z
  • muladd(A, y, z) = A*y .+ z

三角函数

Julia作为科学计算语言,对三角函数的实现本着宁多勿缺的原则,提供了弧度制三角函数、角度制三角函数,甚至还提供了 π \pi π的倍数的三角函数,并且实现了联合三角函数

类别 函数
弧度制三角函数 cos, sin, tan, sec, cec, cot, sincos
角度制三角函数 cosd, sind, tand, secd, cecd, cot, sincosd
弧度制反三角函数 acos, asin, atan, asec, acec, acot
角度制反三角函数 acosd, asind, atand, asecd, acecd, acotd
双曲函数 cosh, sinh, tanh, sech, cech, coth
反双曲函数 acosh, asinh, atanh, asech, acech, acoth
π \pi π倍数 cospi, sinpi, sincospi

其中,sincos(x)=(sin(x), cos(x))

在Julia中,pi π \pi π,且通过deg2radrad2deg可实现弧度和角度之间的转换,非常便捷。

下面做个简单的示例,注意输入参数为数组时,需要在函数后面加个.

using Plots
th = 0:0.1:2
plot(cospi.(th), sinpi.(th))

Julia数值计算初步_第1张图片

指数、对数、取整

Julia中提供了下面一系列指数、对数以及取整函数

类别 函数
幂函数 exp, sqrt
对数函数 log10, log2, log(z)= ln ⁡ z \ln z lnz,
log(x,y)= log ⁡ y x \log_yx logyx, log1p(x)= ln ⁡ ( 1 + x ) \ln(1+x) ln(1+x)
取整 向上ceil, 向下floor,实值向下取整trunc
isqrt(x)相当于floor(sqrt(x))

示例如下

log(2.7)    # 0.9932517730102834
log(2, 8)    # 3.0
log2(8)     # 3.0

你可能感兴趣的:(julia,julia,开发语言,数值计算,三角函数,乘方,求余,取整)