X-Git-Url: http://gitweb.michael.orlitzky.com/?a=blobdiff_plain;f=src%2FODE%2FIVP.hs;h=233e5f872a97f29e4e46dd3a34bc582484ac46ce;hb=d6f147bb46c47cc5f885b72536f5adbe6039af77;hp=5d715a6356df5fd291c325a0b831ca469facb94e;hpb=df93519c1e307699477d3d37484f44041d27354f;p=numerical-analysis.git diff --git a/src/ODE/IVP.hs b/src/ODE/IVP.hs index 5d715a6..233e5f8 100644 --- a/src/ODE/IVP.hs +++ b/src/ODE/IVP.hs @@ -56,6 +56,8 @@ eulers_method1 x0 y0 f h = -- >>> let yN = head $ reverse ys -- >>> abs ((exp 1) - yN) < 1/10^3 -- True +-- >>> head ys == y0 +-- True -- eulers_method :: forall a b c. (RealFrac a, RealFrac b, Integral c) => a -- ^ x0, the initial point @@ -65,7 +67,7 @@ eulers_method :: forall a b c. (RealFrac a, RealFrac b, Integral c) -> c -- ^ n, the number of intervals to use. -> [b] eulers_method x0 y0 xN f n = - go xs y0 f + y0 : go xs y0 f where xs = partition n x0 xN