使用 REPL 作為計算器
Julia REPL 是一款出色的計算器。我們可以從一些簡單的操作開始:
julia> 1 + 1
2
julia> 8 * 8
64
julia> 9 ^ 2
81
ans
變數包含上次計算的結果:
julia> 4 + 9
13
julia> ans + 9
22
我們可以使用賦值 =
運算子定義我們自己的變數:
julia> x = 10
10
julia> y = 20
20
julia> x + y
30
Julia 對數字文字有隱式乘法,這使得一些計算編寫得更快:
julia> 10x
100
julia> 2(x + y)
60
如果我們犯了一個錯誤並做了一些不允許的事情,那麼 Julia REPL 會丟擲錯誤,通常會提供有關如何解決問題的有用提示:
julia> 1 ^ -1
ERROR: DomainError:
Cannot raise an integer x to a negative power -n.
Make x a float by adding a zero decimal (e.g. 2.0^-n instead of 2^-n), or write
1/x^n, float(x)^-n, or (x//1)^-n.
in power_by_squaring at ./intfuncs.jl:82
in ^ at ./intfuncs.jl:106
julia> 1.0 ^ -1
1.0
要訪問或編輯以前的命令,請使用 ↑ (向上)鍵,該鍵移動到歷史記錄中的最後一項。在 ↓ 歷史上移動到下一個專案。該 ← 和 → 鍵可用於移動和進行編輯一條線。
朱莉婭有一些內建的數學常數,包括 e
和 pi
(或π
)。
julia> e
e = 2.7182818284590...
julia> pi
π = 3.1415926535897...
julia> 3π
9.42477796076938
按:我們可以快速地使用他們的 LaTeX 的程式碼型別像π
字元 \ ,然後 p 和 i,然後點選 Tab 鍵來代替剛才輸入與π
的\pi
。這適用於其他希臘字母和其他 unicode 符號。
我們可以使用 Julia 的任何內建數學函式,範圍從簡單到相當強大:
julia> cos(π)
-1.0
julia> besselh(1, 1, 1)
0.44005058574493355 - 0.7812128213002889im
使用 im
作為虛構單元支援複數:
julia> abs(3 + 4im)
5.0
有些函式不會返回複雜的結果,除非你給它一個複雜的輸入,即使輸入是真的:
julia> sqrt(-1)
ERROR: DomainError:
sqrt will only return a complex result if called with a complex argument. Try
sqrt(complex(x)).
in sqrt at math.jl:146
julia> sqrt(-1+0im)
0.0 + 1.0im
julia> sqrt(complex(-1))
0.0 + 1.0im
使用//
有理除法運算子可以對有理數進行精確運算:
julia> 1//3 + 1//3
2//3
有關 Julia 支援哪種算術運算子的更多資訊,請參閱算術主題。
處理機器精度
請注意,機器整數的大小受到限制,如果結果太大而無法儲存,則會溢位 :
julia> 2^62
4611686018427387904
julia> 2^63
-9223372036854775808
這可以通過在計算中使用任意精度整數來防止:
julia> big"2"^62
4611686018427387904
julia> big"2"^63
9223372036854775808
機器浮點的精度也有限:
julia> 0.1 + 0.2
0.30000000000000004
再次使用 big
可以獲得更多(但仍然有限)的精度:
julia> big"0.1" + big"0.2"
3.000000000000000000000000000000000000000000000000000000000000000000000000000017e-01
在某些情況下可以使用 Rational
s 完成精確算術:
julia> 1//10 + 2//10
3//10