Filter löschen
Filter löschen

Boole's Approximation

1 Ansicht (letzte 30 Tage)
Syed Abdul Rafay
Syed Abdul Rafay am 24 Nov. 2022
Kommentiert: Image Analyst am 24 Nov. 2022
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 Kommentar
Image Analyst
Image Analyst am 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?

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Alan Stevens
Alan Stevens am 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).
  1 Kommentar
Syed Abdul Rafay
Syed Abdul Rafay am 24 Nov. 2022
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

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Programming finden Sie in Help Center und File Exchange

Produkte


Version

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by