Boole's Approximation
1 view (last 30 days)
Show older comments
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
Image Analyst
on 24 Nov 2022
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?
Answers (1)
Alan Stevens
on 24 Nov 2022
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).
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!