julia 不仅支持数学运算以及基本函数 ,还支持复数和分数相关的算术操作。
复数
在Julia中, im
用来表示复数 i
,表示 -1 的平方,因为i
在编程语言中常见,所以用i m
代替。
julia> 1 2im
1 2im
复数常规算术运算
可以进行一些常规算术操作:
代码语言:javascript复制# 乘
julia> (1 2im) * (2 - 3im)
8 1im
julia> 3(2 - 5im)
6 - 15im
julia> 2(1 - 1im)
2 - 2im
# 除
julia> (1 2im) / (1 - 2im)
-0.6 0.8im
# 加
julia> (1 2im) (1 - 2im)
2 0im
# 减
julia> (-3 2im) - (5 - 1im)
-8 3im
# 次方
julia> (-1 2im)^2
-3 - 4im
julia> (-1 2im)^2.5
2.729624464784009 - 6.9606644595719im
julia> (-1 2im)^(1 1im)
-0.27910381075826657 0.08708053414102428im
# 混合运算
julia> 3(2 - 5im)^2
-63 - 60im
julia> 3(2 - 5im)^-1.0
0.20689655172413796 0.5172413793103449im
julia> (2 3im) - 1
1 3im
julia> (1 2im) 0.5
1.5 2.0im
julia> (2 3im) - 0.5im
2.0 2.5im
julia> 0.75(1 2im)
0.75 1.5im
julia> (2 3im) / 2
1.0 1.5im
julia> (1 - 3im) / (2 2im)
-0.5 - 1.0im
julia> 2im^2
-2 0im
julia> 1 3/4im
1.0 - 0.75im
复数操作函数
函数名 | 备注 |
---|---|
real() | 实数位 |
imag() | 虚数位 |
conj() | 共轭 |
abs() | 模 |
abs2() | 模的平方 |
angle() | 相角 |
举例:
代码语言:javascript复制julia> z = 1 2im
1 2im
# 取实数位
julia> real(1 2im)
1
# 取虚数位
julia> imag(1 2im)
2
# 共轭复数
julia> conj(1 2im)
1 - 2im
# 求复数的模
julia> abs(1 2im)
2.23606797749979
# 求复数模的平方
julia> abs2(1 2im)
# 求复数的相位角
julia> angle(1 2im)
1.1071487177940904
分数
分数通过//
来表示,示例如下:
julia> 2//3
2//3
julia> 6//9
2//3
julia> -4//8
-1//2
julia> 5//-15
-1//3
julia> -4//-12
1//3
分数常规算术运算
代码语言:javascript复制julia> 2//3 == 6//9
true
julia> 2//3 == 9//27
false
julia> 3//7 < 1//2
true
julia> 3//4 > 2//3
true
julia> 2//4 1//6
2//3
julia> 5//12 - 1//4
1//6
julia> 5//8 * 3//12
5//32
julia> 6//5 / 10//7
21//25
# 混和运算
julia> 3//5 1
8//5
julia> 3//5 - 0.5
0.09999999999999998
julia> 2//7 * (1 2im)
2//7 4//7*im
julia> 2//7 * (1.5 2im)
0.42857142857142855 0.5714285714285714im
julia> 3//2 / (1 2im)
3//10 - 3//5*im
julia> 1//2 2im
1//2 2//1*im
julia> 1 2//3im
1//1 - 2//3*im
julia> 0.5 == 1//2
true
julia> 0.33 == 1//3
false
julia> 0.33 < 1//3
true
julia> 1//3 - 0.33
0.0033333333333332993
分数算术函数
函数名 | 备注 |
---|---|
numerator() | 取分子 |
denominator() | 取分母 |
示例:
代码语言:javascript复制julia> numerator(2//3)
2
julia> denominator(2//3)
3
分数转换成浮点数
代码语言:javascript复制julia> float(3//4)
0.75
julia> a = 1; b = 2;
julia> isequal(float(a//b), a/b)
true