Drkcore

30 01 2010 Haskell Tweet

Haskellでオイラー法を実装する

オイラー法とはあれです、常微分方程式解くやつ。

これをHaskellで実装してみた。下の二行。

euler h f = euler'
    where euler' = (f 1.0 0.0): zipWith (+) euler' [h*y| y <- (zipWith f euler' [h*x| x <- [1..]])]

f = xにすればx = e**tが解になるので。

f _ 0.0 = 1.0
f x t = x

として解いてみる。

*Main> euler 0.00001 f !! 100000
2.7182510547639454

あんま刻み幅を小さくしすぎるのはだめ。

*Main> euler 0.000001 f !! 1000000
*** Exception: stack overflow

About

  • もう5年目(wishlistありマス♡)
  • 最近はPythonとDeepLearning
  • 日本酒自粛中
  • ドラムンベースからミニマルまで
  • ポケモンGOゆるめ

Tag

Python Deep Learning javascript chemoinformatics Emacs sake and more...

Ad

© kzfm 2003-2021