这是我在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 问题是什么?
答案 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;