MATLAB数学实验6

  • 格式:pdf
  • 大小:565.83 KB
  • 文档页数:14

结果为:
s1 可作为定积分 2 sin 2xdx 的近似值。 0
若选取右端点:
结果为:
S2 可作为定积分 2 sin 2xdx 的近似值。 0
在上边的语句中,for…end 是循环语句,执行语句体内的语句 20 次,fill 命令可以填充 多边形,在本例中,用的是蓝色(blue)填充。得到图形 2-2.
k 0
nn
解: 取 n=100 则:
2) 取区间等分数 n=200,分别用矩形法及抛物线法编程,计算定积分 2 sin 2xdx 的近似 0
值。 解: 矩形法: 积分区间为[0,π/2],等距划分为 200 各子区间。
选取每个子区间的端点,并计算端点处的函数值。
选取每个子区间的左端点处的函数值乘以区间长度全部加起来。
在许多实际问题中,常常需要计算定积分 I b f x dx 的值。根据微积分学基本原理, a
若被积函数 f x 在区间[a,b]上连续,只需要找到被积函数的一个原函数 F x ,就可以
用牛顿莱布尼兹公式计算。但在工程技术与科学实验中,有一些定积分的被积函数的原函数 可能求不出来,即使可求出,计算也可能很复杂。特别地,当被积函数是图形或表格给出时, 更不能用牛顿—莱布尼兹公式计算。因此必需寻求定积分的近似计算方法。大多数实际问题 的积分需要用数值积分方法求出近似结果。数值积分原则上可以用多项式函数近似代替被积 函数,用对多项式的积分结果近似代替对被积函数的积分。由于所选多项式形式的不同,可 以有许多种数值积分方法,下面介绍最常用的几种插值型数值积分方法。
y1
y2
...
yn
1
ba, n
误差极限
,逐步计算
Tn
,若
Tn1 Tn
则以 Tn1 作为
b
f
a
x dx 的近似值。
上述程序的效率并不高,因为在计算 Tn 的信息,在实际求积过程中,通常采用步长加
倍法每次将上一次的每个小区间等分为二,因此区间 n 增加一倍,随着 n 的增加,计算精度
也随着增加,直至满足精度要求(通常是通过比较前后两次计算值的误差是否满足精度要求
x2 k
k
x dx h 3
f 2k 4 f 2k 1 f 2k 2
求 m 段之和就得整个区间上的近似积分
Sn
h 3
f0
f 2m
m1
4
k 0
f 2k 1
m1
2
k 1
f 2k
,h
Байду номын сангаас
b a 2m
(2-4)
公式(2-4)称为抛物形公式(辛普森求积公式)。 4) 三种算法的误差计算
在利用数值方法求积分的近似值时,需要根据计算精度的要求,选择一个适合的积分公 式。
T2n
Tn 2
h 2
n1 k 0
fk 1 2 ,h
b
a 2

对于辛普森公式也可作类似处理。
2. 相关的 matlab 命令
matlab 命令 sum(x)
symsum(s,k,m,n)
用途 如果 x 是向量,则 sum(x)给出 x 的各个元素的累加和;如果 x 是矩阵, 则 sum(x)是一个元素为 x 的每列列和的行向量。
值积分的章节)。
从前面的求积分中科院看出误差随着 n 的增大(即步长减小)而减小,因此对于给定的
误差限 ,我们可以根据误差估计式确定适当的步长。由于(2-6)式或(2-7)式都含有高
阶导数,一般不容易估计。下面以梯形公式为例说明计算过程。
在编程计算定积分采用如下方法估计误差:
记 Tn
1 2
y0
yn
导,可以得到
f
x T x
f
''
2
k
x
x
k
x
x
k
1
,
x
k
,x
k
1
xk1 xk
f
x
T
x dx
f ''k
2
x x xk1
xk
k
x x k 1
dx
h3 12
f
''k ,
梯形公式(2-3)的误差为
R1 f ,Tn
n h3 k 1 12
f
'' k
记 M2
max
x a ,b
f
若选取右端点:
结果为:
S2 可作为定积分 1exdx 的近似值。 0
下面我们画出图象(见图 2-10.
如果选取右端点,画图命令如下:
在上边的语句中,for…end 是循环语句,执行语句体内的语句 20 次,fill 命令可以填充 多边形,在本例中,用的是蓝色(blue)填充。得到图形 2-2.
由图显见,选取左端点计算值编校,选取右端点值偏大。可试取 50 各子区间看一看结 果怎样。
xdx
n k 1
f
a
k
b a b a
n
n
式(2-2)称为计算定积分的矩形公式。 2) 梯形法
将积分区间[a,b]n 等分,用线段一次连接各分点,每段都形成一个小的直角梯形。 如果我们用这些小直角梯形面积之和代替原来的小曲边梯形面积之和代替原来的小曲边 梯形面积之和,就可得定积分的近似值。
3) 抛物线法
为了提高计算精度,可以用分段二次插值函数 Sk 代替 f x 。由于每段都要用到相邻两个
小区间断电的三个函数值,所以小区间上用三个节点
x2k , f2k , x2k1, f2k1 , x2k2 , f2k2 , 作二次插值函数 Sk x ,然后积分可得
S x2k1
n
用于求 s k k m
symsum(s,n)
n
用于求 s i i 1
s=quad(fun,a,b) 近似地计算 a 到 b 函数 fun 的数值积分,误差为106
s=quad(fun,a,b,tol) s=quad1(fun,a,b,…)
trapz(x,y)
int(s,v) int(s,v.a,b)
,h
称为积分步长。如果子区间的左端点(或右端点)作为
xk
k ,作部分和。用积分和作为定积分
b f xdx 的近似值,公式(2-1)可以表示为
a
n1
n
In h fk 或 In h fk
k 0
k 1
(2-2)

b a
f
xdx
na k 0
f
a
k
b a b a
n
n

b a
f
I
b
n
f
a
x
dx
lim
n
I
n
,
I
n
k 1
f
k
b
n
a
(2-1)
可知当 n 充分大时,可将 In 视为积分 I 的近似值,这里k 是取自第 k 个区间 xk1, xk
中的值。
如果将区间[a,b]n 等分,结点分别记为 a x0 x1 ... xn b,
h
ba n
,
fk
f
xk
矩形法在每个小区间 xk , xk 1 上用零次多项式(即常数)代替被积函数,若函数 f x
可导,由泰勒公式得到
f x f xk f 'k x xk ,k xk , xk 1
f xk1 xk
x
f
xk dx
f
'k
x x xk1
xk
k
dx
h2 2
f
' k
,
矩形公式(2-2)的误差为
实验二 定积分的近似计算
一、 实验目的
学号:
姓名:XX
1. 加深理解积分理论中分割、近似、求和、取极限的思想方法,了解定积分近 似计算的矩阵形法、梯形法与抛物线法。
2. 会用 matlab 语言编写求定积分近似值的程序。 3. 会用 matlab 中的命令求定积分。
二、 实验内容
1. 定积分近似计算的几种简单数值方法
1) 矩形法 定积分的几何意义是计算曲边梯形的面积,如将区间[a,b]n 等分,每个小区间上都是
一个小的曲边梯形,用一个个小矩形代替这些小曲边梯形,然后把小矩形的面积加起来就近 似地等于整个曲边梯形的面积,于是便求出了定积分的近似值,这就是矩形法的基本原理。
假如 f x 在[a,b]上可积,利用定积分的定义
R0
f ,In
n1 h2 k0 2
f ' k

R0
f ,In
n h2 k 1 2
f ' k 。
记 M1 max
f
'x , max x a ,b
f
' x , 可以粗略的估计误差,得到
R0
f
,
In
h 2
M1
b
a
(2-5)
梯形公式在小区间 xk , xk1 上用线性插值函数 T x 代替 f x ,若函数 f x 二阶可
来确定是否中断计算)。
由(2-6)式可知,当 n 增加一倍时, I T2n
1 3
T2n
Tn
,所以只要
T2n
Tn

计算出的 T2n 即可满足 I T2n 的精度要求。而每次分点加密一倍时,原分点的函数值 fk
不需要重新计算,只需要求出新分点( xk , xk 1 的中点)的函数值(记作 fk1 2 ),即可算出
''x , 可以粗略的估计误差,得到
R1
f
,Tn
h2 12
M
2
b
a