Skip to content

Category Archives: Mathematica

多忙です

なので,Tweet-a-Program への投稿はやっておりません.やりたい気持ちもあるけど,Tweet-a-Program は常に動いているわけじゃなさそうでロスが多いんです.「せっかく送ったのに無視」っていうケースが何度もありました.もう少し向こうもこちらも安定したら再開しようと思います.

遊びなんだけど…

Tweet-a-Program 氏(@wolframtap)に Mention で Mathematica のコード(Wolfram言語のプログラム?)をつぶやくと計算結果の画像を RT してくれるというシステムで遊んでみることにしました.ネタが続く限りつぶやき続けようと思います.昨日はライフゲーム(Game of Life)のグライダーを今日はオフラティスのランダムウォークをつぶやきました.暇があれば解説を書こうと思います.たぶん,書かないと思うけど…. Code submitted by @takashiyoshino #wolframlang pic.twitter.com/MgjsbpdyUB — Tweet-a-Program (@wolframtap) 2014, 10月 30 Code submitted by @takashiyoshino #wolframlang pic.twitter.com/z0UNpy7OdT — Tweet-a-Program (@wolframtap) 2014, 10月 30

4次元正多胞体の基本データ(Mathematica & CSV)

4次元正多胞体の基本データをまとめた Mathematica のファイルおよび CSV ファイルを公開します.6種類の正多胞体(5, 8, 16, 24, 120, 600)について,以下の6種類のデータが保存されています. 頂点の位置:4次元ベクトルを頂点数だけ並べたもの. 辺をつくる頂点の対:1対(つまり2個)の頂点番号を辺の数だけ並べたもの. それぞれの頂点に隣接する頂点の番号:隣接する頂点番号のリストを頂点の数だけ並べたもの. 面をつくる頂点の番号:面を構成する頂点の頂点番号のリストを面の数だけ並べたもの. 隣接する面の番号:隣接する面の面番号リストを面の数だけ並べたもの. 胞を作る面の番号:胞を作る面の面番号リストを胞の数だけ並べたもの. データは多胞体ごとに別のファイルです.正n胞体についてのデータは “f(n).m” というファイル名になります.(n) には数字が入ります.例えば,正5胞体ならデータファイルは “f5.m” ですし,正120胞体ならデータファイルは “f120.m” です.このファイルが “~/tmp/” というフォルダにあるとき,以下のように使用することができます.例えば,「正24胞体を作る24個の胞(立体)が何番目の多角形を用いて作られているのか」は以下のようにして得られます. With[{n = 24, dir = “~/tmp/”}, Module[{vers, edgs, neis, faces, fneis, cells}, {vers, edgs, neis, faces, fneis, cells} = Get[dir <> “f” <> ToString[n] <> “.m”]; cells ] ] […]

迷路の中の流体流れ

迷路の中は流体で満たされていて,初期状態でその圧力は0としましょう.赤で示した入口の圧力を常に100に,出口の圧力を常に0にして,入口と出口の圧力差が常に 100になるようにします.そして,圧力についてのラプラス方程式の数値解を求めます.左の図がその結果を図示したものです.圧力100が白,圧力0が黒で,グレースケールで迷路内の圧力分布を表示しています.右の図は隣のマスとの差の(圧力勾配)絶対値の最大値を表しています.差の絶対値が最も大きいところが白,差がゼロであるところを黒として,グレースケールで圧力勾配の分布を示しています.圧力勾配は流体の流れる方向に相当しています.右の図は迷路の解をたどって流体が流れていることを示しています.つまり,流体は迷路の答えを得たことになります.Mathematica で2時間ぐらいコーディングしたらできちゃいました.夏ぐらいからやろうと思っていたものでした.早くやればいいのに,ダラダラしちゃって…. 周囲の情報で全体が変わっていく.創発ってこんな感じのことなのではないかと思っています(違うのかな?) .

Random walk on a sphere with Mathematica

Followings are the program for random walk on unit sphere sphere.  The key part is the definition of a function whose name is rotateWithAxis.  The function returns the list (3D unit vector) q which derived a rotation of the point vector p on the unit sphere with the axis a.   The third argument theta […]