Boole's Approximation
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
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
Syed Abdul Rafay
on 24 Nov 2022
Categories
Find more on Programming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!