logo

格子モデルシミュレーションの第一歩:ヒートマップで表現する 📂動力学

格子モデルシミュレーションの第一歩:ヒートマップで表現する

シミュレーション

コードレビュー

ステップ1.格子空間の生成

julia> colormap\_SI = [colorant"#EEEEEE", colorant"#111111"]

julia> row\_size = 5
5

julia> column\_size = 5
5

julia> Random.seed!(3);

julia> stage\_lattice = rand(['S'], row\_size, column\_size)
5×5 Array{Char,2}:
 'S'  'S'  'S'  'S'  'S'
 'S'  'S'  'S'  'S'  'S'
 'S'  'S'  'S'  'S'  'S'
 'S'  'S'  'S'  'S'  'S'
 'S'  'S'  'S'  'S'  'S'

上のコードは$5 \times 5$サイズの空の格子空間を作り、ランダムな位置二箇所を埋めるものである。空の空間は文字'S'で、埋めた空間は'I'で表示される。

ステップ2.ヒートマップでプロッティング

stage\_lattice[rand(1:row\_size), rand(1:column\_size)] = 'I'; stage\_lattice
figure = heatmap(reverse(stage\_lattice,dims=1), color=colormap\_SI,
  xaxis=false,yaxis=false,axis=nothing, size = [400,400], legend = false)
png(figure, "lattice\_tutorial.png"); figure

上記のコードを実行すると、次のようなイメージファイルが生成される。**ステップ1.**で見たように、2列3行の'I'が黒色で塗られていることが確認できる。

lattice_tutorial.png

完全コード

以下はこの投稿に使われたジュリアコードだ。

cd(@__DIR__) # 파일 저장 경로

@time using Plots
@time using Random

colormap_SI = [colorant"#EEEEEE", colorant"#111111"]
row_size = 5
column_size = 5
Random.seed!(3);

stage_lattice = rand(['S'], row_size, row_size)
stage_lattice[rand(1:row_size), rand(1:column_size)] = 'I'; stage_lattice
figure = heatmap(reverse(stage_lattice,dims=1), color=colormap_SI,
  xaxis=false,yaxis=false,axis=nothing, size = [400,400], legend = false)
png(figure, "lattice_tutorial.png"); figure