Romberg's method

Please choose a function: for the predefined cases there always holds [a,b]=[0,1]
f(x) = x^(1/4) not differentiable at x=0, I=0.8
f(x) = 1/((x-1.1)*(x+0.1)) infinitely differentiable on [0,1] , I = -ln(11)/0.6 = -3.99649212
f(x) = 4/(1+x^2) infinitely differentiable on R, I = pi =3.141592653589
f(x) = exp(-pi*x)cos(pi*x) entier, I = (1+e^(-pi))/(2pi) = 0.1660326514
f(x) = 2/(2+sin(10*pi*x)) periodic, but not entier, I= 1.1547005384
f(x) = -dlog(x)*x**.1d0 f only C0, I = 1/(1.1)2
f(x) = -dlog(x)*x**0.5 f only C0, I=1/(1.5)2
f(x) = -dlog(x)*x**.9d0 f only C0, I=1/(1.9)2
f(x) = -dlog(x)*x**2d0 f only C2, I=1/9
f(x) = -dlog(x)*x**4d0 f only C4, I=1/25
f(x) = -dlog(x)*x**6d0 f only C6, I=1/49
f(x) = -dlog(x)*x**8d0 f only C8, I=1/81
f(x) = -dlog(x)*x**10d0 f only C10, I=1/121
A function of your own: Please type the evaluation program of your function here using FORTRAN rules. Your final statement must be
      fu= some expression you computed before or just here depending on x
You may use the constants pi, e(=exp(1)), sqrt2(=1.414...), the integer variables i,j,k, the logicals bool1,bool2,bool3 and the double precision variables sum,h1,h2,h3,h4,y(100),z(100),a(100,100) which are all intialized with zero resp. .false. . The routine has the parameters x (double, input) and fu (double out). never change x!. first is a local integer and set 0 before calling the function the first time. You may use this in order to initialize some local data and set it 1 afterwards to avoid multiple such initialization. Your settings of the local variables are preserved during program execution.


a = b =


I don't know the exact integral value
The true integral value is

Specify the desired precision tol here
tol =
A value below 1.0e-16 is reset to 1.0e-16

Specify the number of extrapolation steps (columns) here
kmax =

Specify the initial stepsize via
n0 =
n0 must be in {0,1,..,10}!

Click on "evaluate", in order to submit your input.

Back to the theory page

 Back to the top!

08.05.2017