数值积分与数值微分实验报告

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

实验三 数值积分与数值微分

【实验内容】

选用复合梯形公式,复合Simpson 公式,Romberg 算法高斯算法计算

(1) )5343916.1(sin 44102≈-=⎰

I dx x I (2) )9460831.0,1)0((sin 10≈==⎰I f dx x

x I (3) dx x e I x

⎰+=1024 ;(4) dx x

x I ⎰++=1021)1ln( 【实验前的预备知识】

1、 深刻认识数值积分法的意义;

2、 明确数值积分精度与步长的关系;

3、 根据定积分的计算方法,可以考虑二重积分的计算问题。

4、 比较各种积分方法复杂度及收敛速度。

【实验方法或步骤】

1、 编制数值积分算法的程序;

2、 分别用两种算法计算同一个积分,并比较其结果;

3、 分别取不同步长n a b h /)(-=,试比较计算结果(如20,10=n 等);

4、 给定精度要求ε,试用变步长算法,确定最佳步长。 程序:

复合梯形公式求函数f 在区间【a ,b 】上的定积分代码

function [I,step]=CombineTraprl(f,a,b,eps)

if(nargin==3)

eps=1.0e-4;

end

n=1;

h=(b-a)/2;

I1=0;

I2=(subs(sym(f),findsym(sym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps

n=n+1;

h=(b-a)/n;

I1=I2;

I2=0;

for i=0:n-1

x=a+h*i;

x1=x+h;

I2=I2+(h/2)*(subs(sym(f),findsym(sym(f)),x)+subs(sym(f),findsym(sym(f)),x1)); end

end

I=I2;step=n;

用该方法计算)5343916.1(sin 44

102≈-=⎰I dx x I 的程序为

[q,s]=CombineTraprl('sqrt(4-(sinx)^2)',0,0.25,1.5343916)

得结果为q =0.4986 s =3即结果为0.4986积分区间为3个

辛普森公式求函数f 在区间【a ,b 】上的定积分代码

function [I,step]=IntSimpson(f,a,b,type,eps)

%type 分别为1,2,3时分别为辛普森公式,3/8公式,复合辛普森

if(type==3&&nargin==4)

eps=1.0e-4;

end

I=0;

switch type

case 1,

I=((b-a)/6)*(subs(sym(f),findsym(sym(f)),a)+...

4*subs(sym(f),findsym(sym(f)),(a+b)/2)+...

subs(sym(f),findsym(sym(f)),b));

step=1;

case 2,

I=((b-a)/8)*(subs(sym(f),findsym(sym(f)),a)+...

3*subs(sym(f),findsym(sym(f)),(2*a+b)/3)+...

3*subs(sym(f),findsym(sym(f)),(a+2*b)/3)+subs(sym(f),findsym(sym(f)),b)); step=1;

case 3,

n=2;

h=(b-a)/2;

I1=0;

I2=(subs(sym(f),findsym(sym(f)),a)+subs(sym(f),findsym(sym(f)),b))/h; while abs(I2-I1)>eps

n=n+1;

h=(b-a)/n;

I1=I2;

I2=0;

for i=0:n-1

x=a+h*i;

x1=x+h;

I2=I2+(h/6)*(subs(sym(f),findsym(sym(f)),x)+...

4*subs(sym(f),findsym(sym(f)),(x+x1)/2)+...

subs(sym(f),findsym(sym(f)),x1));

end

end

I=I2;

step=n;

end 用该方法计算)5343916.1(sin 44

102≈-=⎰I dx x I 的程序为

[q,s]=IntSimpson('sqrt(4-(sinx)^2)',0,0.25,1)

得结果为q =0.4987 s =1即结果为0.4987 积分区间为一个

相关文档
最新文档