Juliaに手を出す
Pythonのことを書くと言っていましたが、前から気になっていたJuliaも勉強していこうと思います。
Juliaとは
JuliaはPythonと同じような動的型付けの言語でありながら、C言語などの静的言語にも勝る速さを持ち
しかもPythonのライブラリを呼び出すこともできるという夢のような言語です。
詳しくはこちら
Juliaのインストール方法、基本的な使い方については詳しく説明してくれている人がたくさんいると思うので割愛します。
まずはお約束
print("Hello world") #Hello world
ちょこっと使ってみる
研究室の後輩にプログラミングの演習問題が出ていたので、それをやってみます。
問題は、一次元拡散方程式
を数値的に解くというものです。
using PyPlot
dx = 0.01 dt = 0.0001 D = 0.1 λ = D*dt / (dx*dx)
Juliaではギリシャ文字を変数にすることができます。
init_u = zeros(100) init_u[50] = 1/dx next_u = zeros(100)
Pythonでいうnumpy.zeros()がデフォルトで使えるようです。
step = (3/dt) for i in 1:step+1 t = i * dt for j in 2:length(init_u)-1 next_u[j] = init_u[j] + λ*(init_u[j-1] - 2init_u[j] + init_u[j+1]) end if t == 1. || t == 2. || t == 3. print(init_u) PyPlot.plot(init_u) end init_u = next_u end
Pythonではfor文使うと負けでしたが、Juliaはfor文がめっちゃ早いです。
ガンガン使えます。
凡例を忘れましたが、上から順に,,のときの値です。
まあまあ簡単にできたんじゃないでしょうか。次はもうちょっと複雑なプログラムも組んでみます。