2017年07月13日

VBA 格子点上を8方向に移動するランダムウォーク

≫ [Amazon 書籍] チャート式基礎からの数学完成ノートIIBパック

格子点上を8方向に移動するランダムウォーク


 今回は 格子点上を8方向に移動するランダムウォーク を作ってみました。

 格子点上を8方向に動くランダムウォーク.gif

 基本形の4方向に動くランダムウォークは 姉妹サイトの記事 を参考にしてください。

 マクロは追記に載せてあるので、自分の Excel で遊んでみたい人は自由にお持ち帰りください。マクロを実行すると A 列と B 列にデータが出力されます。[散布図] の [直線] という種類を選択すると次のような軌跡が描かれます。

 @VBA8方向ランダムウォーク.gif

 こういう模様って、何かのデザインに使えたりしませんかね?
 ...... 無理かな。まあいいや。もう1つ載せておきますね。

 AExcel8方向ランダムウォーク.gif

 今度はずいぶんと広い範囲を動き回ってます。
 でね、この模様を前衛的なデザインとして ......
 え? その話はもういい? あ、そう。
 

VBA マクロ RandomWalk8

 Sub RandomWalk8()

 Dim x As Integer, y As Integer
 Dim i As Integer, rd As Integer

 Randomize

 'スタート地点を選びます
 x = 0
 y = 0

 Cells(1, 1).Value = x
 Cells(1, 2).Value = y

 For i = 1 To 999

  rd = Int(8 * RND + 1)

 '乱数に応じて移動方向を定めます
 Select Case rd

 Case 1
  x = x + 1

 Case 2
  x = x - 1

 Case 3
  y = y + 1

 Case 4
  y = y - 1

 Case 5
  x = x + 1
  y = y + 1

 Case 6
  x = x + 1
  y = y - 1

 Case 7
  x = x - 1
  y = y + 1

 Case 8
  x = x - 1
  y = y - 1
  
 End Select

 Cells(i + 1, 1).Value = x
 Cells(i + 1, 2).Value = y

 Next i

 End Sub 

 マクロを実行するときには新しいシートを用意しておいてください。
 
この記事へのコメント
コメントを書く

お名前:

メールアドレス:


ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
http://fanblogs.jp/tb/6467594
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
Excel VBA 数学教室
数学問題集(解答付き)
こばとの数学基礎講座
下剋上算数
ベクトル解析
サッカーマティクス
Excelで学ぶ統計解析
和算的思考力
学び直し
整数論の理論と演習
大人が手こずる算数
東大生の知恵袋
フーリエ変換
インド式秒算術
Excelで学ぶ微分積分
Excel 数学シミュレーション
オイラーの贈物


ファン
最新記事
カテゴリーアーカイブ