数值积分实验报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数值分析实验报告

实验四数值积分

一、用复合辛普森和龙贝格算法计算:

复合辛普森主函数xps:

function xps(a,b,eps)

n=0;Sd=0;

S=(f(a)+f(b))*(b-a)/2;

while abs(Sd-S)>eps

Sd=S;

n=n+1;

h=(b-a)/n;

for i=1:n+1

x(i)=a+(i-1)*h;

end

S1=f(x(1))+f(x(n+1));

S2=0;

S3=0;

for i=2:n

S2=S2+f(x(i));

end

S2=2*S2;

for i=1:n

S3=S3+f((x(i)+x(i+1))/2);

end

S3=4*S3;

S=(S1+S2+S3)*h/6;

end

fprintf('%.15f\n',S);

龙贝格主函数romberg2:

function romberg2 (a,b,eps) %a,b为区间,eps为精度

Rd=0;

R=(b-a)/2*(f(a)+f(b));

N=0;

while abs(Rd-R)>eps

Rd=R;

N=N+1;

for k=1:2

if k==1

n=N*2;

else;

n=N;

end

h=(b-a)/n;

for i=1:n+1

x(i)=a+(i-1)*h;

end

C=0;

for i=1:n

C1=7*f(x(i))+32*f(x(i)+1/4*h)+12*f(x(i)+2/4*h)+32*f(x(i)+3/4*h)+7*f(x(i+1));

C=C+C1*h/90;

end

if k==1

R=C*64/63;

else

R=R-C/63;

end

end

end

fprintf('结果为:%.15f',R);

1、建立被积函数文件f.m

function y=f(x)

y=exp(-x^2);

2、调用xps.m、romberg2.m求定积分.

>> xps(0,0.5,0.0000001)

0.461281071728228

>>romberg2 (0,0.5,0.0000001)

结果为: 0.461281006413932

相关文档
最新文档