定积分的近似计算
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n x2 i
x2 n
x2 n 2
b
相加即得:
a
f ( x )dx
i 1 n
x2 i 2
f ( x )dx
ba ( y2i 2 4 y2i 1 y2i ) i 1 6n
14
数学软件与数学实验
抛物线法
整理后可得:
b
a
b a f ( x)dx [ y0 y2n 4( y1 y3 y2n1 ) 6n 2( y2 y4 y2n2 )]
dx yn y0 y1 yn1 0 1 x 2 h 2 2
1
0.78539399673078
相对误差: 0.78539399673078 / 4 5.305 10-6 /4
11
数学软件与数学实验
抛物线法
2n 等分区间 [a,b] ,得
矩形法举例
例:用不同的矩形法计算下面的定积分 ( 取 n=100 ), 并比较这三种方法的相对误差。
dx 0 1 x 2
1
解: a=0, b=1, n=100 ==> h =1/100=0.01, xi = i*h,
左点法:0
1
dx h f ( x ) h 1 i 1 2 1 x2 1 x i 1 i 1 i 1
2
Leabharlann Baidu
数学软件与数学实验
专题 定积分的近似计算
矩形法
定积分的定义:
b
a
f ( x )dx nlim
x1 x2
x 0 i 1
f ( )x ,
i i
n
i [ xi 1, xi ]
x2
xi
i
xn xn 1 xn
x0
x1
xi 1 xi
21
数学软件与数学实验
dblquad 举例
f(x,y) 中关于第一自变量的运算是数组运算, 即把 x 看成是向量,y 看成是标量。 也可以全部采用数组运算 例1:计算二重积分 I
0
2
1
1
(4 xy 3 y 2 )dxdy
>> f=inline('4*x*y+3*y^2'); >> I=dblquad(f, -1,1,0,2)
x2
0
x2
x0
x x x
3 2
x2
x2 x0 (y0 4y1 y2 ) 6 ba (y0 4 y1 y2 ) 6n
13
3
2
x0
数学软件与数学实验
抛物线法
同理可得:
x4
x2
f ( x )dx b a ( y2 4 y3 y4 ) 6n f ( x )dx b a ( y2 n 2 4 y2 n 1 y2 n ) 6n
数学软件与数学实验
专题 定积分的近似计算
数学软件与数学实验
专题 定积分的近似计算
问题背景和实验目的
定积分计算的基本公式是牛顿-莱布尼兹公式。但当 被积函数的原函数不知道时,如何计算?这时就需要利 用近似计算。特别是在许多实际应用中,被积函数甚至 没有解析表达式,而是一条实验记录曲线,或一组离散 的采样值,此时只能用近似方法计算定积分。 本实验主要研究定积分的几种近似计算算法:矩形法、 梯形法和抛物线法;蒙特卡洛随机投点法和蒙特卡洛样 本均值法。同时介绍 Matlab 计算定积分的相关函数。
int 符号积分
符号积分: int int(f,v,a,b) int(f,v)
计算函数 f 关于自变量 v 的不定积分
b
a
f (v)dv
抛物线法公式 或
辛普森 (Simpson) 公式
15
数学软件与数学实验
抛物线法
例:用抛物线法计算下面定积分 ( 取 n=100 ), 并计算相对误差
dx 0 1 x 2
1
解: a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 )
dx b a [ y y 4( y y y ) ==> 0 0 2n 1 3 2 n 1 6n 1 x2 2( y2 y4 y2n2 )]
曲边小梯形的面积可以由直边小梯形的面积来近似
yi 1 yi Si xi 2
整个曲边梯形的面积:
yi f ( xi ), i 1,2,, n
S f ( x )dx
a
n
b
yi 1 yi Si xi 2 i 1 i 1
n
Si
9
数学软件与数学实验
将自变量看成是向量
19
数学软件与数学实验
quad 举例
例:用 quad 计算定积分:
dx 0 1 x 2
1
解:
>> quad('1./(1+x.^2)',0,1)
>> quad('1./(1+x.^2)',0,1,10e-10) >> quad('1./(1+x.^2)',0,1,10e-16) 函数表达式一定要用 单引号 括起来! 涉及的运算一定要用 数组运算!
6
数学软件与数学实验
矩形法举例
误差分析
dx π 1 arctan x 0 理论值: 0 2 1 x 4
1
0.78789399673078 / 4 0.003178 /4 0.78289399673078 / 4 右点法相对误差: 0.003188 /4 中点法相对误差: 0.78540024673078 / 4 2.653 10-6 /4
例2:计算二重积分
0
2 1 1
(4 xy 3x 2 )dxdy
>> dblquad(inline('4*x*y+3*x^2'),-1,1,0,2) >> dblquad(inline('4*x*y+3*x.^2'),-1,1,0,2)
22
X
数学软件与数学实验
dblquad 举例
被积函数 f (x,y) 的另一种定义方法:匿名函数
20
数学软件与数学实验
二重积分的计算
抛物线法计算二重积分: dblquad
dblquad(f,a,b,c,d,tol)
a
b
d
c
f ( x, y )dxdy
tol 为计算精度,若不指定,则缺省精度为 10-6 f(x,y) 可以由 inline 定义,或通过一个函数句柄传递 [a,b] 是第一积分变量的积分区间,[c,d] 是第二积分变量 的积分区间 按字母顺序,大写字母排在小写字母的前面
的抛物线来近似原函数 f (x) 。 该直线用抛物线代替, 计算精度是否会更好?
12
数学软件与数学实验
抛物线法
设过以上三点的抛物线方程为: y = x2 + x + = p1(x)
则在区间 [x0, x2] 上,有
x2
x0
f ( x)dx p1 ( x)dx x ( x2 x )dx
1 n
n
n
(i = 0,1,2,...,100)
dx h f ( xi ) 0.78289399673078 右点法: 0 2 1 x i 1
1 n
0.78789399673078
xi 1 xi 0.78540024673078 dx 中点法: f( ) 0 1 x 2 h 2 i 1
梯形公式
梯形公式与中点公式有什么区别 ?
10
数学软件与数学实验
梯形法举例
例:用梯形法计算下面定积分 ( 取 n=100 ), 并计算相对误差
dx 0 1 x 2
1
解:
a=0, b=1, n=100, f (x) = 1/( 1+x2 )
==> h =1/100=0.01, xi = i*h, yi = f (xi) ==>
左点法相对误差:
不同的方法有不同的计算精度 有没有更好的近似计算定积分的方法 ?
7
数学软件与数学实验
定积分几何意义
y
f ( x)
S1 S2
S )dx a f ( x
Si
b
Sn
o a
S f ( x)dx Si
b a
n
xi 1 xi
b
x
i 1
8
数学软件与数学实验
梯形法
dx 0 1 x 2
1
解: a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 )
前面的 做法 trapz 函数
dx ba 0 1 x 2 n ( y0 / 2 y1 y2 yn1 yn / 2)
1
>> x=0:1/100:1; >> y=1./(1+x.^2); >> trapz(x, y)
i 1
n
n
n
i 1
b
a
f ( x )dx f ( xi )xi h f ( xi )
i 1 i 1
n xi 1 xi xi 1 xi f ( x )dx f ( )xi h f ( ) 2 2 i 1 i 1 n
5
n
b
a
数学软件与数学实验
梯形法
如果我们 n 等分区间 [a,b],即令:
x1 x2 xn
则 S
b a
b
a
h ba n n n n yi 1 yi yi 1 yi f ( x )dx Si xi h 2 2 i 1 i 1 i 1
==>
yn y0 f ( x)dx h y1 yn1 2 2
1
0.78539816339745
相对误差: 0.78539816339745 / 4 2.827 10-16
/4
16
数学软件与数学实验
Matlab 计算定积分函数介绍
Matlab 近似计算定积分的相关函数 梯形法:trapz
trapz(x,y)
x 为分割点(节点)组成的向量, y 为被积函数在节点上的函数值组成的向量。
b
a
y y f ( x )dx b a 0 y1 yn 1 n n 2 2
x [ x0 , x1,, xn ]
y [ f ( x0 ), f ( x1 ),, f ( xn )]
17
数学软件与数学实验
trapz 举例
例:用梯形法计算下面定积分 ( 取 n=100)
xi 和中点 ( xi 1 xi ) / 2 。
中点法
4
左点法
右点法
数学软件与数学实验
左点法、右点法和中点法
步长
xi h (b a) / n xi a ih, i 1,2,n
节点
左点法:
右点法: 中点法:
b
a
f ( x )dx f ( xi -1 )xi h f ( xi 1 )
例:计算二重积分
0
2 1 1
(4 xy 3x 2 )dxdy
>> dblquad(inline('4*x*y+3*x.^2'), -1,1, 0, 2) >> dblquad(@(x,y)4*x*y+3*x.^2 , -1,1, 0, 2)
指定 x、y 分别是第一和第二积分变量
23
数学软件与数学实验
xi xi xi 1,
x max xi
3
数学软件与数学实验
矩形法
定积分的近似:
b
a
f ( x )dx f (i )xi , n 充分大,△x 充分小
i 1
n
通常我们取
x1 x2 xn
h ba n
点 i [ xi 1, xi ] 可以任意选取,常见的取法有: 左端点 xi 1 ,右端点
trapz(x,1./(1+x.^2))
18
数学软件与数学实验
抛物线法
抛物线法:quad
b
a
f ( x )dx
quad(f,a,b,tol)
f = f(x) 为被积函数,[a,b] 为积分区间,tol 为计算精度
注: 不用自己分割积分区间
可以指定计算精度,若不指定,缺省精度是 10-6 精度越高,函数运行的时间越长 此处的函数 f 是数值形式,应该使用数组运算,即 点运算:.*,./ ,.\ ,.^
ba h1 , xi ih1 , i 0,1,, 2n 2n
计算每个节点上的函数值:
yi f ( xi ), i 0,1,,2n
在区间 [x0, x2] 上,用过以下三点
P 0 ( x0 , y0 ), P 1 ( x1 , y1 ), P 2 ( x2 , y2 )
x2 n
x2 n 2
b
相加即得:
a
f ( x )dx
i 1 n
x2 i 2
f ( x )dx
ba ( y2i 2 4 y2i 1 y2i ) i 1 6n
14
数学软件与数学实验
抛物线法
整理后可得:
b
a
b a f ( x)dx [ y0 y2n 4( y1 y3 y2n1 ) 6n 2( y2 y4 y2n2 )]
dx yn y0 y1 yn1 0 1 x 2 h 2 2
1
0.78539399673078
相对误差: 0.78539399673078 / 4 5.305 10-6 /4
11
数学软件与数学实验
抛物线法
2n 等分区间 [a,b] ,得
矩形法举例
例:用不同的矩形法计算下面的定积分 ( 取 n=100 ), 并比较这三种方法的相对误差。
dx 0 1 x 2
1
解: a=0, b=1, n=100 ==> h =1/100=0.01, xi = i*h,
左点法:0
1
dx h f ( x ) h 1 i 1 2 1 x2 1 x i 1 i 1 i 1
2
Leabharlann Baidu
数学软件与数学实验
专题 定积分的近似计算
矩形法
定积分的定义:
b
a
f ( x )dx nlim
x1 x2
x 0 i 1
f ( )x ,
i i
n
i [ xi 1, xi ]
x2
xi
i
xn xn 1 xn
x0
x1
xi 1 xi
21
数学软件与数学实验
dblquad 举例
f(x,y) 中关于第一自变量的运算是数组运算, 即把 x 看成是向量,y 看成是标量。 也可以全部采用数组运算 例1:计算二重积分 I
0
2
1
1
(4 xy 3 y 2 )dxdy
>> f=inline('4*x*y+3*y^2'); >> I=dblquad(f, -1,1,0,2)
x2
0
x2
x0
x x x
3 2
x2
x2 x0 (y0 4y1 y2 ) 6 ba (y0 4 y1 y2 ) 6n
13
3
2
x0
数学软件与数学实验
抛物线法
同理可得:
x4
x2
f ( x )dx b a ( y2 4 y3 y4 ) 6n f ( x )dx b a ( y2 n 2 4 y2 n 1 y2 n ) 6n
数学软件与数学实验
专题 定积分的近似计算
数学软件与数学实验
专题 定积分的近似计算
问题背景和实验目的
定积分计算的基本公式是牛顿-莱布尼兹公式。但当 被积函数的原函数不知道时,如何计算?这时就需要利 用近似计算。特别是在许多实际应用中,被积函数甚至 没有解析表达式,而是一条实验记录曲线,或一组离散 的采样值,此时只能用近似方法计算定积分。 本实验主要研究定积分的几种近似计算算法:矩形法、 梯形法和抛物线法;蒙特卡洛随机投点法和蒙特卡洛样 本均值法。同时介绍 Matlab 计算定积分的相关函数。
int 符号积分
符号积分: int int(f,v,a,b) int(f,v)
计算函数 f 关于自变量 v 的不定积分
b
a
f (v)dv
抛物线法公式 或
辛普森 (Simpson) 公式
15
数学软件与数学实验
抛物线法
例:用抛物线法计算下面定积分 ( 取 n=100 ), 并计算相对误差
dx 0 1 x 2
1
解: a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 )
dx b a [ y y 4( y y y ) ==> 0 0 2n 1 3 2 n 1 6n 1 x2 2( y2 y4 y2n2 )]
曲边小梯形的面积可以由直边小梯形的面积来近似
yi 1 yi Si xi 2
整个曲边梯形的面积:
yi f ( xi ), i 1,2,, n
S f ( x )dx
a
n
b
yi 1 yi Si xi 2 i 1 i 1
n
Si
9
数学软件与数学实验
将自变量看成是向量
19
数学软件与数学实验
quad 举例
例:用 quad 计算定积分:
dx 0 1 x 2
1
解:
>> quad('1./(1+x.^2)',0,1)
>> quad('1./(1+x.^2)',0,1,10e-10) >> quad('1./(1+x.^2)',0,1,10e-16) 函数表达式一定要用 单引号 括起来! 涉及的运算一定要用 数组运算!
6
数学软件与数学实验
矩形法举例
误差分析
dx π 1 arctan x 0 理论值: 0 2 1 x 4
1
0.78789399673078 / 4 0.003178 /4 0.78289399673078 / 4 右点法相对误差: 0.003188 /4 中点法相对误差: 0.78540024673078 / 4 2.653 10-6 /4
例2:计算二重积分
0
2 1 1
(4 xy 3x 2 )dxdy
>> dblquad(inline('4*x*y+3*x^2'),-1,1,0,2) >> dblquad(inline('4*x*y+3*x.^2'),-1,1,0,2)
22
X
数学软件与数学实验
dblquad 举例
被积函数 f (x,y) 的另一种定义方法:匿名函数
20
数学软件与数学实验
二重积分的计算
抛物线法计算二重积分: dblquad
dblquad(f,a,b,c,d,tol)
a
b
d
c
f ( x, y )dxdy
tol 为计算精度,若不指定,则缺省精度为 10-6 f(x,y) 可以由 inline 定义,或通过一个函数句柄传递 [a,b] 是第一积分变量的积分区间,[c,d] 是第二积分变量 的积分区间 按字母顺序,大写字母排在小写字母的前面
的抛物线来近似原函数 f (x) 。 该直线用抛物线代替, 计算精度是否会更好?
12
数学软件与数学实验
抛物线法
设过以上三点的抛物线方程为: y = x2 + x + = p1(x)
则在区间 [x0, x2] 上,有
x2
x0
f ( x)dx p1 ( x)dx x ( x2 x )dx
1 n
n
n
(i = 0,1,2,...,100)
dx h f ( xi ) 0.78289399673078 右点法: 0 2 1 x i 1
1 n
0.78789399673078
xi 1 xi 0.78540024673078 dx 中点法: f( ) 0 1 x 2 h 2 i 1
梯形公式
梯形公式与中点公式有什么区别 ?
10
数学软件与数学实验
梯形法举例
例:用梯形法计算下面定积分 ( 取 n=100 ), 并计算相对误差
dx 0 1 x 2
1
解:
a=0, b=1, n=100, f (x) = 1/( 1+x2 )
==> h =1/100=0.01, xi = i*h, yi = f (xi) ==>
左点法相对误差:
不同的方法有不同的计算精度 有没有更好的近似计算定积分的方法 ?
7
数学软件与数学实验
定积分几何意义
y
f ( x)
S1 S2
S )dx a f ( x
Si
b
Sn
o a
S f ( x)dx Si
b a
n
xi 1 xi
b
x
i 1
8
数学软件与数学实验
梯形法
dx 0 1 x 2
1
解: a=0, b=1, n=100, yi = f (xi) = 1/( 1+xi2 )
前面的 做法 trapz 函数
dx ba 0 1 x 2 n ( y0 / 2 y1 y2 yn1 yn / 2)
1
>> x=0:1/100:1; >> y=1./(1+x.^2); >> trapz(x, y)
i 1
n
n
n
i 1
b
a
f ( x )dx f ( xi )xi h f ( xi )
i 1 i 1
n xi 1 xi xi 1 xi f ( x )dx f ( )xi h f ( ) 2 2 i 1 i 1 n
5
n
b
a
数学软件与数学实验
梯形法
如果我们 n 等分区间 [a,b],即令:
x1 x2 xn
则 S
b a
b
a
h ba n n n n yi 1 yi yi 1 yi f ( x )dx Si xi h 2 2 i 1 i 1 i 1
==>
yn y0 f ( x)dx h y1 yn1 2 2
1
0.78539816339745
相对误差: 0.78539816339745 / 4 2.827 10-16
/4
16
数学软件与数学实验
Matlab 计算定积分函数介绍
Matlab 近似计算定积分的相关函数 梯形法:trapz
trapz(x,y)
x 为分割点(节点)组成的向量, y 为被积函数在节点上的函数值组成的向量。
b
a
y y f ( x )dx b a 0 y1 yn 1 n n 2 2
x [ x0 , x1,, xn ]
y [ f ( x0 ), f ( x1 ),, f ( xn )]
17
数学软件与数学实验
trapz 举例
例:用梯形法计算下面定积分 ( 取 n=100)
xi 和中点 ( xi 1 xi ) / 2 。
中点法
4
左点法
右点法
数学软件与数学实验
左点法、右点法和中点法
步长
xi h (b a) / n xi a ih, i 1,2,n
节点
左点法:
右点法: 中点法:
b
a
f ( x )dx f ( xi -1 )xi h f ( xi 1 )
例:计算二重积分
0
2 1 1
(4 xy 3x 2 )dxdy
>> dblquad(inline('4*x*y+3*x.^2'), -1,1, 0, 2) >> dblquad(@(x,y)4*x*y+3*x.^2 , -1,1, 0, 2)
指定 x、y 分别是第一和第二积分变量
23
数学软件与数学实验
xi xi xi 1,
x max xi
3
数学软件与数学实验
矩形法
定积分的近似:
b
a
f ( x )dx f (i )xi , n 充分大,△x 充分小
i 1
n
通常我们取
x1 x2 xn
h ba n
点 i [ xi 1, xi ] 可以任意选取,常见的取法有: 左端点 xi 1 ,右端点
trapz(x,1./(1+x.^2))
18
数学软件与数学实验
抛物线法
抛物线法:quad
b
a
f ( x )dx
quad(f,a,b,tol)
f = f(x) 为被积函数,[a,b] 为积分区间,tol 为计算精度
注: 不用自己分割积分区间
可以指定计算精度,若不指定,缺省精度是 10-6 精度越高,函数运行的时间越长 此处的函数 f 是数值形式,应该使用数组运算,即 点运算:.*,./ ,.\ ,.^
ba h1 , xi ih1 , i 0,1,, 2n 2n
计算每个节点上的函数值:
yi f ( xi ), i 0,1,,2n
在区间 [x0, x2] 上,用过以下三点
P 0 ( x0 , y0 ), P 1 ( x1 , y1 ), P 2 ( x2 , y2 )