Julia の文法(最低限)に関するメモです.
変数の設定
julia> a = 7
julia> b = 2
julia> println(a + b) # 足し算
9
julia> println(a / b) # 割り算(小数になる)
3.5
julia> println(a ÷ b) # 整数の商(÷ は \div と打って Tab キー)
3
julia> println(a % b) # 余り
1
julia> println(a ^ 3) # べき乗
343
julia> println(sqrt(2)) # 平方根
1.4142135623730951
julia> println(Float64(π)) # 円周率(π は \pi と打って Tab キー)
3.141592653589793
変数の設定
julia> p = 1//6
分数の計算("//"で分数(有理数)を作れます.厳密な計算するときに使います.)
julia> println(p + p) # 1//3 と約分される
1//3
julia> println(6 * p) # 1//1(分数のまま1)
1//1
julia> println(float(1//3)) # 分数を小数にする
0.3333333333333333
配列の設定
julia> x = [1, 2, 3, 4, 5] # 配列
配列と範囲
julia> println(x[1]) # 1番目の要素(Juliaは1から数える)
1
julia> println(sum(x)) # 合計
15
julia> println(1:6) # 1から6の範囲
1:6
julia> println(collect(1:6)) # 範囲を配列にする
[1, 2, 3, 4, 5, 6]
julia> println(x .^ 2) # 各要素を2乗(. は「要素ごとに」の印)
[1, 4, 9, 16, 25]
julia> println(x .* x) # 各要素同士の積
[1, 4, 9, 16, 25]
"."(ドット )は「配列の各要素に対して」という意味.
関数の定義
julia> f(x) = x^2 + 1 # 数式のように関数を定義できる
関数
julia> println(f(3))
10
julia> println(f.([1, 2, 3])) # 配列の各要素に適用
[2, 5, 10]
julia> function pmf_dice(k) # 複数行で書く場合
if 1 <= k <= 6
return 1//6
else
return 0//1
end
end
pmf_dice (generic function with 1 method)
julia> println(pmf_dice(3), " ", pmf_dice(7))
1//6 0//1
julia> s = 0
julia> for k in 1:6
global s += k # 1から6までを足す
end
julia> println(s)
21
julia> squares = [k^2 for k in 1:6] # 内包表記:配列を一行で作る
julia> println(squares)
[1, 4, 9, 16, 25, 36]
julia> using Random
julia> Random.seed!(1) # 乱数の種を固定(同じ結果を再現するため)
julia> println(rand()) # 0以上1未満の一様乱数
0.07336635446929285
julia> println(rand(1:6)) # サイコロを1回
3
julia> println(rand(1:6, 10)) # サイコロを10回
[5, 4, 6, 2, 5, 5, 5, 2, 4, 3]
julia> println(rand())
0.0013502779247226426
julia> using Statistics
julia> data = [2, 4, 4, 4, 5, 5, 7, 9]
julia> println(mean(data)) # 平均
5.0
julia> println(var(data; corrected=false)) # 分散(分母 n)
4.0
julia> println(var(data)) # 分散(分母 n-1)
4.571428571428571
julia> println(std(data; corrected=false)) # 標準偏差(分母 n)
2.0
julia> using Plots, PlotsGRBackendFontJaEmoji
julia> default(margin=5Plots.mm) # 日本語の軸ラベルが切れないように余白を確保
julia> xs = 0:0.1:2π
0.0:0.1:6.2
julia> plot(xs, sin.(xs), label="sin(x)", xlabel="x", ylabel="y")
julia> savefig("setup_sin.png")
julia> display(current())

0 件のコメント :
コメントを投稿