附录一:
【实验目标】
1.掌握复合梯形公式与复合辛普森公式的基本思想。掌握常用的数值积分方法(特别是梯形法、Simpson方法、 Cotes公式、Romberg算法以及Gauss 求积公式)的原理。
2.学会用matlab编程实现用复合梯形公式与复合辛普森公式求积分。
3.熟悉matlab软件的使用, 通过实验体会常用数值积分方法的逐步精致化过程。
【理论概述与算法描述】
bba,()(()())fxdxfafb,,,a21. 根据梯形公式,将区间【a,b】划分为n等份,
分点x(k)=a+kh,h=(b-a)/n,k=0,1,2,3, ……,在每个区间【x(k),x(k+1)】
(k=0,1,2……n-1)上采用梯形公式,得
nn,,11bh,,,,,()()[(()()]()IfxdxfxdxfxfxRf,,kkn,1,a2kk,,00 , 记
nn,,11hh,,,,,[()()][()2()()]Tfxfxfafxfb,,nkkk,122kk,,01 ,则此公式Tn为复合梯形公式。
baab,,Sfaffb,,,[()4()()]622(根据辛普森公式,将区间【a,b】分为n等分,在每个区间【x(k),x(k+1)】上采用辛普森公式,记x(k+1/2)=x(k)+k/2,则得到
b,,11nnxhk,1,,,,,,()()[()4()()]()IfxdxfxdxfxfxfxRf,,,,1/21kkkn,,xk6,,00kka, 记
数值分析实验指导
nn,,11h,,,,[()4()2()()]Sfafxfxfb,,nkk,1/26kk,,01,此公式为复合辛普森求积公式。
【实验问题】
计算下列定积分
,
2I,sinxdx1(,(精确解:I=1) ,0
1sinx2 I,dx,(取,) f(0),1,0x
【实验过程与结果】
1 掌握复合梯形公式和复合辛普森公式的理论及方法 2,编写计算积分的算法程序
3,对结果进行分析,比较两种方法计算的结果
【结果分析、讨论与结论】
a=0;
b=pi/2;
tol=10^-6;
T=comptrate(a,b,tol)
T =
1.0000
S=
1.0023
第1页
数值分析实验指导
第2题
a=0;
b=1;
tol=10^-6;
T=comptra(a,b,tol)
s=comsinp(a,b,tol)
T =
0.9461
s =
0.9461
根据结果,第一题中复合梯形公式较好,第二题中两种方法结果相同,简单的分析我们认为通过对h的值的改变,只要h值越小,即等分的区间越小,结果应该更加精确,精确度越高。正无论是复合梯形公式还是复合辛普森公式它们最终结果都会随着h值的减小而更加精确。复合梯形公式和复合辛普森公式计算出的结果进行比较,发现在n 不是很大时复合梯形公式较好
【附程序】
复合梯形公式
function T=comptra(a,b,tol)
h=b-a;
k=0;
第2页
数值分析实验指导
T=((f(a)+f(b))*h)/2;
P=T+1;
while abs(P-T)>tol
P=T;
m=0; h=h/2;
for i=1:2^k
m=m+f(a+(2*i-1)*h);
end
T=0.5*P+m*h; k=k+1;
end
复合辛普森公式 function S=comsinp(a,b,tol)
h=b-a;
k=1;
S=((f(a)+f(b)+4*f((a+b)/2))*h)/6; P=S;
while abs(P-S)>tol
P=S;
m=0;
n=0;
h=h/2;
for i=1:2^k-1
m=m+f(a+((2*i+1)/2)*h);
end
for j=1:2^k-1
n=n+f(a+j*h);
end
S=0.5*P+(h*(4*m+2*n))/6; end
主程序
main
a=0;
b=1;
tol=10^-6;
T=comptra(a,b,tol)
s=comsinp(a,b,tol)
令y=f(x) 分别令f(x)=sinx.sin,x+eps,
第3页
matlab求导数值分析实验指导
/(x+eps)
第4页
发布评论