format long
n=100;a=0;b=1;
inum1=0;inum2=0;inum3=0;
syms x fx
fx=1/(1+x^2);
for i=1:n
xj=a+(i-1)*(b-a)/n; %左点
xi=a+i*(b-a)/n; %右点
fxj=subs(fx,'x',xj); %左点值
fxi=subs(fx,'x',xi); %右点值
fxij=subs(fx,'x',(xi+xj)/2); %中点值
inum1=inum1+fxj*(b-a)/n;
inum2=inum2+fxi*(b-a)/n;
inum3=inum3+fxij*(b-a)/n;
end
inum1
inum2
inum3
integrate=int(fx,0,1)
integrate=double(integrate)
fprintf('The relative error between inum1 and real-value is about: %d\n\n',...
abs((inum1-integrate)/integrate))
fprintf('The relative error between inum2 and real-value is about: %d\n\n',...
abs((inum2-integrate)/integrate))
fprintf('The relative error between inum3 and real-value is about: %d\n\n',...
abs((inum3-integrate)/integrate))
附录2:梯形法(fulu2.m)
format long
n=100;a=0;b=1;inum=0;
syms x fx
fx=1/(1+x^2);
for i=1:n
xj=a+(i-1)*(b-a)/n;
xi=a+i*(b-a)/n;
fxj=subs(fx,'x',xj);
fxi=subs(fx,'x',xi);
inum=inum+(fxj+fxi)*(b-a)/(2*n);
end
inum
integrate=int(fx,0,1)
integrate=double(integrate)
fprintf('The relative error between inum and real-value is about: %d\n\n',...
abs((inum-integrate)/integrate))
梯形法不用理他,只需改矩形法的
能给联系方式么,很需要您的帮忙,qq可以么,可以把qq号发到我邮箱[email protected]
追答574366563