Julia 基礎 備忘録¶
基本的なこと¶
セッション終了は Ctrl + D, コメントは#
基本的な演算¶
補足サイト https://hshindo.github.io/julia-doc-ja-v0.6/manual/mathematical-operations.html, https://docs.julialang.org/en/v1/stdlib/LinearAlgebra/ (LinearAlgebraのサイト,固有値や行列の分解などに)julia > 10^2 #べき乗 100 julia> 13/3 #除算 4.333333333333333 julia> 25//100 #有理数 1//4 julia > x = 2; julia > 2x + 1 #変数を使った積は積記号を省略できる(ただし変数が後) 5 julia > typeof(x) #typeofで型を確認 Int64 julia > x = 2.0; julia > typeof(x) Float64 julia > pi #円周率 π = 3.1415926535897... julia > sin(2pi/3) #三角関数も使える 0.8660254037844387 julia > 2+3im #虚数(im)も使える 2 + 3im julia > typeof(2+3im) Complex{Int64} julia > x = [1.2 0;1 -1] #ベクトル, 行列を定義 2×2 Array{Float64,2}: 1.2 0.0 1.0 -1.0 julia > A = [1 2;3 4]; # ; を使うと出力されない julia > b = [1 2]' ; # ' が転置を意味する julia > A\b # Ax=b が解ける 2×1 Array{Float64,2}: 0.0 0.5 julia > A * ans == b true julia > x = [1 2 3] julia > x.^2 # ^の前に. をつけることで成分だけ2乗する 1×3 Array{Int64,2}: 1 4 9; julia > abs.(-x) # 関数も同様に.をつけられる(ただし関数は()の前) 1×3 Array{Int64,2}: 1 2 3
for文, 条件分岐¶
参考サイト http://nullbyte.hatenablog.com/entry/2015/05/28/011054julia > for i in 1:3 println(i) end 1 2 3 julia > for i in [1.2 -2.3 3.4] println(i) end 1.2 -2.3 3.4 julia > [i*j for i in 1:2, j in 1:3] #内包表記も可能 2×3 Array{Int64,2}: 1 2 3 2 4 6 julia > [i for i in 1:6 if i%2==1] #条件も加えられる 3-element Array{Int64,1}: 1 3 5 julia> for (i, j) in zip(1:3, 6:9) #zip関数で2つの配列を同時に print(i, " - ", j, "\n") end 1 - 6 2 - 7 3 - 8 julia > k = 10; # if elseif else julia > if k % 15 == 0 println("15の倍数") elseif k % 5 == 0 println("5の倍数") elseif k % 3 == 0 println("3の倍数") else println(k) end
関数の定義¶
参考サイト https://hshindo.github.io/julia-doc-ja-v0.6/manual/functions.htmljulia > f(x,y) = x + y f (generic function with 1 method) julia > f(2,3) 5 julia > function g(x,y) return x * y x + y # return 以降は無視される end g (generic function with 1 method) julia > g(2,3) 6 julia > function func(x::Float64)::Float64 #引数や関数値に型を指定することもできる return 1 end julia > func(2.0) # 戻り値はFloat64 1.0 julia > func(2) #引数が整数のためエラーになる ERROR: MethodError: no method matching func(::Int64)
Juliaで嬉しいこと¶
Python のように書き易く,Cのように速い
MATLABの感覚で書ける
行列, ベクトル計算が速い
分数が使える (//を使用)
記号が使える
\pi と入力してtabを押せば π になる
記号を変数にすることができる