Archive

Posts Tagged ‘Haskell’

Haskell Chart パッケージでグラフ描画

先日『Lotka-Volterra モデルのシミュレーション』で Haskell を用いて数値シミュレーションを行いましたが,せっかく Haskell でシミュレーションしたにもかかわらず結果のグラフを R で描画するという残念な感じでした。調べてみると Chart というグラフ描画のパッケージを見つけましたのでその紹介[a]

なお,本記事は Haskell Advent Calendar 2011 の 9 つ目の記事にあたります。

Read more...

脚注

  1. グラフを描画するパッケージは, Chart パッケージの他に gnuplot のラッパーである Gnuplot パッケージ もあります。 []

プログラミング ,

Lotka-Volterra モデルのシミュレーション

生態学の被食者・捕食者の個体数変動を,以下の方程式 (Lotka-Volterra 方程式) で表現するモデルがあります。
\displaystyle\begin{eqnarray}\displaystyle\frac{dx}{dt}&=&x(a-by) \\ \displaystyle\frac{dy}{dt}&=&-y(c-dx)\end{eqnarray}
ここで x は被食者の個体数, y は捕食者の個体数を表します。

解析的に解くことが困難であるため,計算機によるシミュレーションを行うのが普通です。これを Haskell で実装してみました。

Read more...

プログラミング, 科学 ,

Excel 列名変換問題

息抜きに Excel の列名変換問題というのを Haskell でやってみました。 Excel の列名が何列目であるか,逆に数値を列名に変換せよという問題です。

Read more...

プログラミング

Haskell で for 文

Haskell で無理矢理 for 文を書こうとしたらどうなるかなと思って書いてみました。

Read more...

プログラミング

「文字列を先頭から見て同じところまで除去」をやってみた

文字列を先頭から見て同じところまで除去」を Haskell でやってみました。

お題は以下の通りです。

複数の文字列を受け取り、受け取った文字列をそれぞれ先頭から見てゆき、すべてが同じ内容であれば除去した内容の文字列を返却する関数を書いて下さい。
※関数の引数と戻り値については複数の文字列が受け渡しできれば型や方法は問いません*1。

例1)hoge("abcdef", "abc123")
戻り値 => "def" と "123" ("abc" が除去される)

例2)hoge("あいうえお", "あいさんさん", "あいどる")
戻り値 => "うえお", "さんさん", "どる" ("あい" が除去される)

例3)hoge("12345", "67890", "12abc")
戻り値 => "12345", "67890", "12abc" (一致なしのため、そのまま返却される)

*1:文字列配列で受け取り、文字列配列で返却するなど。

Read more...

プログラミング