数学实验报告
实验序号:4 日期:2012 年12 月 13 日
实验名称 定积分的近似计算
问题背景描述:
利用牛顿一莱布尼兹公式虽然可以精确地计算定积分的值,但它仅适用于被积函数的原 );
fprintf('The relative error between inum and real-value is about:%g/n/n',...
abs((inum-integrate)/integrate))
【调试结果】
inum =
The relative error between inum and real-value is about:n/n>>
使用函数trapz()
x=1:1/120:2;
y=1./x;
trapz(x,y)
【调试结果】
ans =
Q使用函数quad()
quad('1./x',1,2)
【调试结果】
ans =
2:
Q使用函数trapz()
x=1:1/120:inf; y=sin(x)./x; trapz(x,y)
【调试结果】
??? Error using ==> colon
Maximum variable size allowed by the program is exceeded.
Q使用函数quad()
quad('sin(x)./x',O,inf)
【调试结果】
ans =
NaN
Q程序法
%矩阵法
format long
n=inf;a=0;b=inf;
syms x fx
fx=sin(x)./x;
%左点
%右点
i=1:n;
xj=a+(i-l)*(b-a)/n;
xi=a+i*(b-a)/n;
%左点值
%右点值 %中点值
xij=(xi+xj)/2;
fxj=subs(fx,'x',xj);
fxi=subs(fx,'x',xi);
fxij=subs(fx,'x',xij);
f1=fxj*(b-a)/n;
f2=fxi*(b-a)/n;
f3=fxij*(b-a)/n;
inum1=sum(f1)
inum2=sum(f2)
inum3=sum(f3)
integrate=int(fx,0,inf);
integrate=double(integrate);
fprintf('the relative error between inum1 and real-value is about: %g\n\n',... abs((inum1-integrate)/integrate))
fprintf('the relative error between inum2 and real-value is about: %g\n\n',...
abs((inum2-integrate)/integrate))
fprintf('the relative error between inum3 and real-value is about: %g\n\n',...
abs((inum3-integrate)/integrate))
【调试结果】
??? Maximum variable size allowed by the program is exceeded.
Q使用matlab命令
syms x;f=sin(x)/x;I=int(f,O,inf)
【调试结果】
I = 1/2*pi
3:
°1矩形法:利用求和函数
%矩阵法
format long
n=100;a=0;b=l;
syms x fx
fx=1/(1+xA2);
i=1:n;
xj=a+(i-1)*(b-a)/n; %左点
xi=a+i*(b-a)/n; %右点
xij=(xi+xj)/2;
fxj=subs(fx,'x',xj); %左点值
fxi=subs(fx,'x',xi); %右点值
fxij=subs(fx,'x',xij); % 中点值
f1=fxj*(b-a)/n;
f2=fxi*(b-a)/n;
f3=fxij*(b-a)/n;
inum1=sum(f1)
inum2=sum(f2)
inum3=sum(f3) integrate=int(fx,0,1);
integrate=double(integrate);
fprintf('the relative error between inum1 and real-value is about: %g\n\n',... abs((inum1-integrate)/integrate))
fpr
定积分近似计算 来自淘豆网m.daumloan.com转载请标明出处.