文章目录
- 复数系统
- 运算符
- 三角函数
- 指数、对数、取整
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) / xdiv(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+zmuladd(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
π,且通过deg2rad和rad2deg可实现弧度和角度之间的转换,非常便捷。
下面做个简单的示例,注意输入参数为数组时,需要在函数后面加个.
using Plots
th = 0:0.1:2
plot(cospi.(th), sinpi.(th))

指数、对数、取整
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

















