3/8 Simpson's Rule

3 vues (au cours des 30 derniers jours)
Hasan Dikka
Hasan Dikka le 3 Sep 2020
I created my code for 3/8 Simpson's Rule also ı want to add relative error. How can I add relative error in code.
function hasan2 (n)
a = 0;
b = 1;
h = (b-a)/n;
sum = 0;
for i = 1:n-1
a = (i-1)*h;
b = i*h;
sum = sum + 3/8*(f(a) + 3*f((2*a+b)/3) + 3*f((a+2*b)/3) + f(b));
end
sum
end
function fx=f(x)
fx=exp(2*x)*sin(5*x);
end

Réponses (1)

Alan Stevens
Alan Stevens le 3 Sep 2020
The result of integrating of your function between 0 and 1 is:
I = (exp(1)^2*(2*sin(5)-5*cos(5)) + 5)/29;
so relative error is
relerror = abs(sum/I - 1);
As an aside, "sum" is a built-in Matlab function, so it's best not to use it as a variable name.

Catégories

En savoir plus sur Numerical Integration and Differential Equations dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by