南通大学实验报告材料

南通大学实验报告材料
南通大学实验报告材料

大学实验报告

定积分与定积分的近似计算

学院:理学院

班级:数师153班

学号: 1502012072

:顾阳

第一部分实验报告书解读

一、实验目的

实验主要是分析用矩阵公式,梯形公式,辛普森公式求定积分的近似值,并比较它们与定积分的近似情况。

可以先学习定积分的数值计算方法,理解定积分的定义,掌握牛顿-莱布尼茨公式。

二、实验材料

1.1定积分的数值计算

计算定积分?b a dx x f )(的近似值,可将积分区间n 等分而得矩形公式

程序为

n a b n a b i a f dx x f n

i b a ---+≈∑?=])

1([)(1 或 n a

b n a b i a f dx x f n i b a --+≈∑?=][)(1

也可用梯形公式近似计算 n

a b b f a f n a b i a f dx x f n i b a -++-+≈∑?-=]2)()()([)(11 如果要准确些,可用辛普森公式 n a b b f a f a b i a f n a b i

a f dx x f n i n i

b a 6)]()()2)21((4)(2[)(111-++--++-+≈∑∑?=-= 对于?10sin xdx ,矩形公式、梯形公式、辛普森公式的Mathematica 程序为

a=0;b=1;k=10;

f[x_]:=Sin[x];

d=N[Integrate[f[x],{x,a,b}],k];(计算精确值)

s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k];(取小区间左端点的矩形公式)

s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k](取小区间中点的矩形公式)

s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k]; (取小区间右端点的矩形公式)

s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-

a)/m,{i,0,m-1}],k]; (梯形公式) s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}]

+4*Sum[f[a+(i-1/2)*(b-a)/m],{i,1,m}]),k];(辛普森公式) t=Table[{s1[m],r1[m],s2[m],r2[m],s3[m],r3[m],s4[m],r4[m],s5[m],r 5[m]}, {m,100,1000,100}]

1.2可积的条件

设f(x)=sinx,取a=0,b=1

对于?1

0sin xdx ,矩形公式、梯形公式、辛普森公式的Mathematica 程序为

a=0;b=1;k=10;

f[x_]:=Sin[x];

d=N[Integrate[f[x],{x,a,b}],k];(计算精确值)

s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k];(取小区间左端点的矩形公式)

s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k](取小区间中点的矩形公式)

s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k]; (取小区间右端点的矩形公式)

s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-

a)/m,{i,0,m-1}],k]; (梯形公式) s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}] +4*Sum[f[a+(i-1/2)*(b-a)/m],{i,1,m}]),k];(辛普森公式) r1[m_]:=d-s1[m];r2[m_]:=d-s2[m];r3[m_]:=d-s3[m];r4[m_]:=

t=Table[{s1[m],r1[m],s2[m],r2[m],s3[m],r3[m],s4[m],r4[m],s5[m],r 5[m]}, {m,100,1000,100}]

1.3牛顿-莱布尼茨公式

设函数)(x f 在[]b a ,上连续,而且)(x F 是)(x f 的一个原函数,则有牛顿-莱布尼兹公式?-=b a a F b F dx x f )()()(。

函数?

??≠==0001)(x x x f 在[]2,1-不连续、不存在原函数,但在[]2,1-上可积;函数???>≤-=--00

cos sin 22)(11x x x x x x x g 在[]2,1-不连续,但在[]2,1-上可积。

此外函数????∈=Q

x Q x x D 01)(处处不连续、不存在原函数,在任意区间(长度大于0)上不可积。

求原函数并验证牛顿-莱布尼兹公式的Mathematica 程序

f[x_]:=Sin[x];

Integrate[f(x),x](求不定积分)

F[x_]:=%(定义原函数)

d=NIntegrate[f(x),{x,a,b}](求定积分)

df=F[b]-F[a] (计算原函数的增量)

三、实验所用软件及版本

Mathematica 5.0

第二部分 实验计划

(一)定积分的数值计算

1.程序修改

a=0;b=1;k=10;

f[x_]:=Sin[x];

d=N[Integrate[f[x],{x,a,b}],k];

s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k];

s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k] s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k];

s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-

a)/m,{i,0,m-1}],k];

s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}] +4*Sum[f[a+(i-1/2)*(b-a)/m],{i,1,m}]),k];

r1[m_]:=d-s1[m];r2[m_]:=d-s2[m];r3[m_]:=d-s3[m];r4[m_]:=d-s4[m];r5

[m_]:=d-s5[m];

t=Table[{s1[m],r1[m],s2[m],r2[m],s3[m],r3[m],s4[m],r4[m],s5[m],r5

[m]}, {m,100,1000,100}]

利用以上程序计算,?10dx ,?10xdx ,?102dx x ,?10dx e x ,?+1

0)1(dx x In 并对几个公式比较。

2.实验思路

对以上程序,分别将sinx 的x 替换成1,x ,x 2,e x ,In(1+x)

(二)可积的条件

1.实验思路:

(1)如果函数f(x)在区间[a,b]上连续,则f(x)在区间[a,b]上可积,反之亦然。

(2)设一连续函数,判断其是否可积。

2.程序修改

a=0;b=1;k=10;

f[x_]:=Sin[x];

d=N[Integrate[f[x],{x,a,b}],k];

s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k]; s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k] s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k];

s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-

a)/m,{i,0,m-1}],k];

s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}] +4*Sum[f[a+(i-1/2)*(b-a)/m],{i,1,m}]),k];

r1[m_]:=d-s1[m];r2[m_]:=d-s2[m];r3[m_]:=d-s3[m];r4[m_]:=d-s4[m];r5

[m_]:=d-s5[m];

t=Table[{s1[m],r1[m],s2[m],r2[m],s3[m],r3[m],s4[m],r4[m],s5[m],r5

[m]}, {m,100,1000,100}]

利用以上程序计算,?10dx ,?10xdx ,?102dx x ,?10dx e x ,?+1

0)1(dx x In 并对几个公式比较。

(三)牛顿-莱布尼茨公式

1. 程序修改

f[x_]:=Sin[x];

Integrate[f(x),x]

F[x_]:=%

d=NIntegrate[f(x),{x,a,b}]

df=F[b]-F[a]

r=d-df

2.实验思路

(1)先对一个函数sinx在区间[0,1]时,运行程序计算。

(2)在考虑其他函数,y=1,y=x,y=x2,y=e x,y=In(1+x),

y=sign(x)在[0,1]时,进行程序计算。

第三部分实验过程与结果

实验一定积分的实验计算

1. 在mathmatica上输入以下程序

a=0;b=1;k=10;

f[x_]:=Sin[x];

d=N[Integrate[f[x],{x,a,b}],k];

s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k];

s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k]

s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k];

s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-

a)/m,{i,0,m-1}],k];

s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}] +4*Sum[f[a+(i-1/2)*(b-a)/m],{i,1,m}]),k];

r1[m_]:=d-s1[m];r2[m_]:=d-s2[m];r3[m_]:=d-s3[m];r4[m_]:=d-s4[m];r5 [m_]:=d-s5[m];

t=Table[{s1[m],r1[m],s2[m],r2[m],s3[m],r3[m],s4[m],r4[m],s5[m],r5 [m]}, {m,100,1000,100}]

运行结果为:

2.在mathmatica上输入以下程序

a=0;b=1;k=10;

f[x_]:=1

d=N[Integrate[f[x],{x,a,b}],k];

s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k];

s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k]

s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k];

s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-

a)/m,{i,0,m-1}],k];

s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}] +4*Sum[f[a+(i-1/2)*(b-a)/m],{i,1,m}]),k];

r1[m_]:=d-s1[m];r2[m_]:=d-s2[m];r3[m_]:=d-s3[m];r4[m_]:=d-s4[m];r5 [m_]:=d-s5[m];

t=Table[{s1[m],r1[m],s2[m],r2[m],s3[m],r3[m],s4[m],r4[m],s5[m],r5 [m]}, {m,100,1000,100}]

运行结果为:

3. 在mathmatica上输入以下程序

a=0;b=1;k=10;

f[x_]:=x

d=N[Integrate[f[x],{x,a,b}],k];

s1[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,0,m-1}],k];

s2[m_]:=N[Sum[f[a+(i+1/2)*(b-a)/m]*(b-a)/m,{i,0,m-1}],k]

s3[m_]:=N[Sum[f[a+i*(b-a)/m]*(b-a)/m,{i,1,m}],k];

s4[m_]:=N[Sum[(f[a+i*(b-a)/m]+f[a+(i+1)*(b-a)/m])/2*(b-

a)/m,{i,0,m-1}],k];

s5[m_]:=N[(b-a)/m/6*((f[a]+f[b])+2*Sum[f[a+i*(b-a)/m],{i,1,m-1}] +4*Sum[f[a+(i-1/2)*(b-a)/m],{i,1,m}]),k];

r1[m_]:=d-s1[m];r2[m_]:=d-s2[m];r3[m_]:=d-s3[m];r4[m_]:=d-s4[m];r5 [m_]:=d-s5[m];

t=Table[{s1[m],r1[m],s2[m],r2[m],s3[m],r3[m],s4[m],r4[m],s5[m],r5 [m]}, {m,100,1000,100}]

相关主题
相关文档
最新文档