Filter löschen
Filter löschen

I tried to create a mid point formula and trapezoid formula in Matlab and solve a integral using it but I'm not getting the same result as the build in function.

1 Ansicht (letzte 30 Tage)
we are trying to use these two formula to approximate a integral value. instead of using the build in function of
format long
integral(@(x)exp(-x.^4),0,20)
ans =
0.906402477055477
but the result should match the result of build in function.
we are trying to approxiamte this integral
my code is follows
a = 0;
b = 20;
n = 10000;
h = (b-a)/n;
x = linspace(a,b,n+1);
y = exp(-x.^4);
x_mid = a+h/2:h:b;
t_form = h*(sum(y)+((y(1)+y(end))/2))
t_form =
0.908402477055477
my result doesn't match the original result. But i'm not sure where the problem is.

Akzeptierte Antwort

Torsten
Torsten am 16 Okt. 2022
Bearbeitet: Torsten am 17 Okt. 2022
a = 0;
b = 20;
h = 1e-2;
x = a:h:b;
y = exp(-x.^4);
x_mid = a+h/2:h:b-h/2;
y_mid = exp(-x_mid.^4);
format long
trapz_form = h*((y(1)+y(end))/2+sum(y(2:end-1)))
trapz_form =
0.906402477055477
mid_point_form = h*sum(y_mid)
mid_point_form =
0.906402477055477
reference_int = integral(@(x)exp(-x.^4),0,20)
reference_int =
0.906402477055477

Weitere Antworten (0)

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