Julia Language
산수
수색…
통사론
- + x
- -엑스
- a + b
- a - b
- a * b
- a / b
- a ^ b
- a % b
- 4a
- sqrt (a)
이차 방정식
Julia는 수학 또는 다른 프로그래밍 언어처럼 기본 산술 연산에 유사한 이진 연산자를 사용합니다. 대부분의 연산자는 중위 표기법 (infix notation)으로 작성 될 수 있습니다 (즉, 계산되는 값 사이에 위치). 줄리아 (Julia)는 수학의 일반적인 관례와 일치하는 작업 순서를 가지고 있습니다.
예를 들어, 아래 코드는 더하기, 빼기, 곱하기 및 나누기 각각에 대해 +
, -
, *
및 /
연산자를 나타내는 이차 수식을 구현합니다. 또한 암시 적 곱셈 이 표시됩니다. 여기서 숫자는 곱셈을 의미하는 기호 앞에 직접 배치 할 수 있습니다. 즉, 4a
는 4*a
와 같습니다.
function solvequadratic(a, b, c)
d = sqrt(b^2 - 4a*c)
(-b - d) / 2a, (-b + d) / 2a
end
용법:
julia> solvequadratic(1, -2, -3)
(-1.0,3.0)
에라 토 스테 네스 체
Julia의 나머지 연산자는 %
연산자입니다. 이 연산자는 C 및 C ++와 같은 언어의 %
와 비슷하게 작동합니다. a % b
는 a
를 b
나눈 나머지 남은 부호입니다.
이 연산자는 에라 토 스테 네스 시브 (Sieve of Eratosthenes) 구현과 같은 특정 알고리즘을 구현하는 데 매우 유용합니다.
iscoprime(P, i) = !any(x -> i % x == 0, P)
function sieve(n)
P = Int[]
for i in 2:n
if iscoprime(P, i)
push!(P, i)
end
end
P
end
용법:
julia> sieve(20)
8-element Array{Int64,1}:
2
3
5
7
11
13
17
19
행렬 산술
Julia는 행렬에 적용 할 때 산술 연산의 표준 수학적 의미를 사용합니다. 때로는 요소 단위 연산이 대신 필요할 수 있습니다. 이것들은 요소 앞에서 끝나기 위해 연산자 앞에 전체 멈춤 ( .
)으로 표시됩니다. (elementwise 연산은 종종 루프만큼 효과적이지 않습니다.)
합계
행렬에 대한 +
연산자는 행렬 합입니다. 이것은 요소 적 합과 비슷하지만 모양을 방송하지 않습니다. 그 경우,이다 및 A
B
동일 형상이며, 그 다음 A + B
동일하다 A .+ B
; 그렇지 않으면 A + B
는 오류이고 A .+ B
는 그렇지 않을 수도 있습니다.
julia> A = [1 2
3 4]
2×2 Array{Int64,2}:
1 2
3 4
julia> B = [5 6
7 8]
2×2 Array{Int64,2}:
5 6
7 8
julia> A + B
2×2 Array{Int64,2}:
6 8
10 12
julia> A .+ B
2×2 Array{Int64,2}:
6 8
10 12
julia> C = [9, 10]
2-element Array{Int64,1}:
9
10
julia> A + C
ERROR: DimensionMismatch("dimensions must match")
in promote_shape(::Tuple{Base.OneTo{Int64},Base.OneTo{Int64}}, ::Tuple{Base.OneTo{Int64}}) at ./operators.jl:396
in promote_shape(::Array{Int64,2}, ::Array{Int64,1}) at ./operators.jl:382
in _elementwise(::Base.#+, ::Array{Int64,2}, ::Array{Int64,1}, ::Type{Int64}) at ./arraymath.jl:61
in +(::Array{Int64,2}, ::Array{Int64,1}) at ./arraymath.jl:53
julia> A .+ C
2×2 Array{Int64,2}:
10 11
13 14
마찬가지로, -
행렬 차이를 계산합니다. +
및 -
둘 다 단항 연산자로 사용할 수도 있습니다.
제작품
행렬에 대한 *
연산자는 행렬 곱 (요소 별 제품이 아님)입니다. 요소 단위 제품의 경우 .*
연산자를 사용하십시오. 비교 (위와 같은 행렬 사용) :
julia> A * B
2×2 Array{Int64,2}:
19 22
43 50
julia> A .* B
2×2 Array{Int64,2}:
5 12
21 32
힘
^
연산자는 행렬 지수를 계산 합니다 . 행렬 지수는 특정 재귀 값을 신속하게 계산하는 데 유용 할 수 있습니다. 예를 들어, 피보나치 수 는 행렬 표현식에 의해 생성 될 수 있습니다
fib(n) = (BigInt[1 1; 1 0]^n)[2]
통상적으로, .^
연산자는 요소 단위의 지수가 원하는 연산 인 곳에서 사용될 수 있습니다.