Boole's Approximation

I checked my code several times but I can not find the mistake. There is a huge difference between the exact answer and Boole's approximate value.
function Boole_approx(a,b)
a = -1;
b = 1;
N=10; %total number of intervals
h = (b-a)/(4*N); %shows the steps increment
x = a:h:b;
s=((2*h)/45)*(7*(f(a)+f(b)));
for i=1:2:N-1
s = s + ((2*h)/45)*(32*f(x(i)));
end
for i=2:4:N-2
s = s + ((2*h)/45)*(12*f(x(i)));
end
for i=4:4:N-4
s = s + ((2*h)/45)*(14*f(x(i)));
end
disp (s)
G = @(x)(tan(x)-2.*x);
exact_value = integral(G,0,pi)
end
function fx=f(x)
fx = tan(x)-2*x;
end
Answer
resuts =
0.232772096457974 -9.87116269500961

1 Comment

What did you pass in for a and b?
And why do you immediately ovrewrite them with -1 and 1, thus making the input arguments totally irrelevant?

Sign in to comment.

Answers (1)

Alan Stevens
Alan Stevens on 24 Nov 2022

1 vote

You are using Boole from -1 to 1, but the "exact" from 0 to pi. (You should plot G against x to see why your "exact" integral won't produce a sensible numerical answer).

1 Comment

sorry I made a mistake her but it is to pi in original code. I forgot to correct it while pasting. I tried 5 to 6 time inf is the answer of boole's and 67 for exact

Sign in to comment.

Categories

Find more on Programming in Help Center and File Exchange

Products

Release

R2022b

Asked:

on 24 Nov 2022

Commented:

on 24 Nov 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!