MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

プログラミング言語Julia逆引きメモ

目次

はじめに

よく忘れて調べ直している

Juliaの文法やTipsに関するメモです。

順次追加予定です。

 

Juliaそのものに関しては、

下記を参照ください。

myenigma.hatenablog.com

二重ループ

シンプルな二重ループを書きたい時に

for x in xlist
    for y in ylist
        # do somthing
    end
end

ではなく、

for x in xlist, y in ylist
   # do somthing
end

とシンプルに書ける。

リストのリストをArrayに変換する

例えば、3つの要素が入っているリストが100個リストとして入っている時に、

それを3x100のArrayにしたい場合は、

a_array = hcat(a...)

とすれば良い。

リスト同士を比較して、同じ要素かどうかを比較

x = [1, 1, 2]
y = [2, 1, 4]
x .== y
#3-element BitArray{1}:
#  false
#  true
#  false

リストを条件検索

x = [1.0, 0.5, -0.2]
t = x[abs.(x).>0.5]
#1-element Array{Float64,1}:
#1.0

シンプルな最近傍点探索

zの中からノルムが一番xに近い要素を選ぶ場合

nearest_neighbor(x,z) = z[ argmin([norm(x-y) for y in z]) ]
z = ( [2,1], [7,2], [5.5,4], [4,8], [1,5], [9,6] );
nearest_neighbor([5,6], z)

2つのベクトルがなす角度を計算

ang(x,y) = acos(x'*y/(norm(x)*norm(y)));

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com