フィルターのクリア

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 回表示 (過去 30 日間)
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.

採用された回答

Torsten
Torsten 2022 年 10 月 16 日
編集済み: Torsten 2022 年 10 月 17 日
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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeProgramming についてさらに検索

製品


リリース

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by