在matlab中求解矩形方法的积分

时间:2018-05-11 19:10:57

标签: matlab

这是我在matlab中用矩形方法进行集成的代码

f=@(x) (x^(1/2))
a = 1  
b = 10 

% step size
h = 0.25 

n = 0 % the counter

xn= a + (n * h)
%%
%Rectangle Method:
s=0
for i =0:n-1
s = s + f(xn)
end
Rectangle = h * s

答案应该在20左右,但我得到29.5 问题是什么?

1 个答案:

答案 0 :(得分:0)

两个错误:

1)xn未更新。

2)点数n设置为零。

我还没有解决其他一些小问题,例如:左右边界点应该对权重1/2的贡献。

快速修复:

f=@(x) (x^(1/2));
a = 1;  
b = 10 ;

% step size
h = 0.25; 

n = (b-a)/h; % the counter


%%
%Rectangle Method:
s=0;
for i =0:n-1
    xn= a + (i * h);
    s = s + f(xn);
end
Rectangle = h * s;