实验09 数值微积分与方程数值解(第6章)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验09 数值微积分与方程数值求解
(第6章 MATLAB 数值计算)
一、实验目的
1. 掌握求数值导数和数值积分的方法。
2. 掌握代数方程数值求解的方法。
3. 掌握常微分方程数值求解的方法。
二、实验内容
1. 求函数在指定点的数值导数
232()1
23,1,2,302
6x x x f x x x x x
==
程序及运行结果:
2. 用数值方法求定积分
(1) 22210
cos 4sin(2)1I t t dt π
=
++⎰
的近似值。
程序及运行结果:
《数学软件》课内实验
王平
(2) 222
1I dx x
π
=+⎰
程序及运行结果:
3. 分别用3种不同的数值方法解线性方程组
6525494133422139211
x y z u x y z u x y z u x y u +-+=-⎧⎪-+-=⎪
⎨
++-=⎪⎪-+=⎩ 程序及运行结果:
4. 求非齐次线性方程组的通解
123412341
2342736352249472
x x x x x x x x x x x x +++=⎧⎪
+++=⎨⎪+++=⎩
5. 求代数方程的数值解
(1) 3x +sin x -e x =0在x 0=1.5附近的根。
程序及运行结果(提示:要用教材中的函数程序line_solution ):
(2) 在给定的初值x 0=1,y 0=1,z 0=1下,求方程组的数值解。
23
sin ln 70
3210
50y x y z x z x y z ⎧++-=⎪+-
+=⎨⎪++-=⎩
6. 求函数在指定区间的极值
(1) 3cos log ()x
x x x x
f x e ++=在(0,1)内的最小值。
(2) 332
12112122(,)2410f x x x x x x x x =+-+在[0,0]附近的最小值点和最小值。
7. 求微分方程的数值解,并绘制解的曲线
22
50(0)0
'(0)0xd y dy
y dx dx y y ⎧-+=⎪⎪⎪
=⎨⎪=⎪⎪⎩
程序及运行结果(注意:参数中不能取0,用足够小的正数代替):
令y 2=y,y 1=y ',将二阶方程转化为一阶方程组:
'112'
21
12
5
1(0)0,(0)0
y y y x x y y y y ⎧=-⎪⎪=⎨⎪==⎪⎩
8. 求微分方程组的数值解,并绘制解的曲线
123213
312123'''0.51(0)0,(0)1,(0)1
y y y y y y y y y y y y =⎧⎪=-⎪⎨
=-⎪⎪===⎩
程序及运行结果:
三、实验提示
四、教程:第6章 MATLAB 数值计算(2/2)
6.2 数值微积分 p155 6.2.1 数值微分
1. 数值差分与差商
对任意函数f(x),假设h>0。
➢ 向前差分:()()()f x f x h f x ∆=+- ➢ 向后差分:()()()f x f x f x h ∇=--
➢ 中心差分:()(/2)(/2)f x f x h f x h δ=+-- 当步长h 充分小时,有
➢ 向前差商:()
'()f x f x h ∆≈
➢ 向后差商:()
'()f x f x h ∇≈
➢ 中心差商:()
'()f x f x h
δ≈
2. 数值微分的实现
MATLAB 没有提供求数值导数的函数,只有计算向前差分的函数diff 。 ➢ DX=diff(X):计算向量X 的向前差分,DX(i)=X(i+1)-X(i),i=1,2,…,n -1。 ➢ DX=diff(X,n):计算X 的n 阶向前差分。 例如,diff(X,2)=diff(diff(X))。
➢ DX=diff(A,n,dim):计算矩阵A 的n 阶差分,dim=1时(缺省状态),按列;dim=2,按行。
例6.18 (向前差分)求1~3阶差分p156
设x 由[0,2π]间均匀分布的10个点组成,求sin x 的1~3阶差分。
例6.19 (数值导数)3种方法求导p157
=+
()52
f x x
用不同的方法求f(x)的数值导数,并在同一个坐标系中做出f '(x)的图像。
6.2.2 数值积分 p157
1. 数值积分基本原理 求解定积分的数值方法: ➢ 梯形法
➢ 辛普生(Simpson)•法
➢ 牛顿-柯特斯(Newton-Cotes)法 基本思想:
将整个积分区间[a ,b ]分成n 个子区间 [x i
, x i +1
],i =1,2,…,n ,其中x 1
=a ,x n +1=b
这样求定积分问题就分解为求和问题。 2. 数值积分的实现
(1) 被积函数是一个解析式
调用格式: quad(fname,a,b,tol,trace)
quadl(fname,a,b,tol,trace)
➢ fname 是被积函数名。
➢ a 和b 分别是定积分的下限和上限。 ➢ tol 用来控制积分精度,默认tol=10-6
。
➢ trace 控制是否展现积分过程,若取非0则展现积分过程,取0则不展现,默认trace=0。