数值分析(01) 数值计算与误差分析

合集下载

第一章数值计算方法与误差分析PPT课件

第一章数值计算方法与误差分析PPT课件

编辑版pppt
29
0 . 4 9 0 . 4 0 0 8 . 0 0 4 1 0 . 0 2 1 3 1 2 1 9 1 5 0 7 1 1 ( 2 1 ) 0
0 . 484
2 4 2 4
我们不能由此推出x*有两位有效数字,这是因为
x-x*=0.4900-0.484=0.0060>0.005
即可知近似值x*并不具有两位有效数字。
例4 对于绝对值小的 x,可利用泰勒级数
ex–1= x+x2/2+x3/6+…
取前n项来计算。
编辑版pppt
23
(二)要防止大数“吃掉“小数,注意保护重要数据
在数值运算中,参加运算的数有时数量级相差很大,而计算 机位数有限,如不注意运算次序就可能出现大数“吃掉”小数的
现 象,影响计算结果的可靠性。
5 .编制源程序并调试
6 .做出算法的误差分析
编辑版pppt
2
从工程实际中抽象出来的数学问题往往很复杂,典型的有: 1、数据点的插值 2 、曲线拟和 3、复杂函数的微积分运算 4、非线性方程f(x)=0的根的求解
5、当n很大时线性方程组AX=B的求解 6、常微分方程的求解
minf (x) xX
编辑版pppt
3
参考书籍的几种名称: 1、数值分析 2、数值计算原理 3、计算方法 4、算法设计 5、计算机数值计算方法与程序设计
编辑版pppt
4
数值计算中的误差
1、误差的种类和来源
① 模型误差
② 观测误差
③ 截断误差
④ 舍入误差

2、误差的有关概念:

近似值
① 绝对误差: (x)xx
编辑版pppt

数值分析1-误差及有效数字

数值分析1-误差及有效数字

(避免绝对值很大的数为乘数)
x1 1 x1 e e x ex 2 (避免 x2 为很小的数为除数) 1 2 x x x2 2 2
er x1 x2 x1 x2 er x1 er x 2 x1 x2 x1 x2
er x1 x2
这里,主要介绍计算机中浮点数的表示形式及 表示范围(4个参数):
x s p
其中, s =±0.a1a2a3………at 称为尾数∈[-1,1],
s 中的正负号用一位数字区分;
β为基数,如取2、10、8、16; p为阶数,有上限U和下限L, 由计算机存储字节长度决定。
1.4 误差危害的防止 (1)使用数值稳定的计算公式
数值稳定是指计算过程中舍入误差对计算影响不大的算法, 若第n+1步的误差en+1 与第n步的误差en满足
en 1 1 en
,则称该计算公式是绝对稳定的
例:建立积分In=

1
0
xn dx x5
(n=0,1.........,20)
递推关系式,并分析误差传播影响。
解: I +5I
n
n-1=
x 5x 0 x 5 dx
1 n n -1

1
0
x n-1dx
x n
n
1

0
1 n
I 0=
1 0 x 5dx
1
ln x 5
1 0
=ln6-ln5
1 In -5In -1 n ∴递推式: I 0 ln6 - ln5
2
x1 x 2
2
e x1 e x 2

数值分析误差

数值分析误差

I k −1
11 ( k = n, n − 1,…,2,1) = − Ik 5k
(1 − 3)
依式( 依式(1-3)计算
* 0
的近似值。 I n −1 , I n − 2 ,…, I 1 , I o 的近似值。
* 14
1 1 1 分别取 I = 0.18232155, I = + ≈ 0.01222222 2 6 × 15 5 × 15 按算法1、算法 2的计算结果见下屏表 1 − 1:
逆向递推公式在数学上完全等价,却导致两种完全不同的 逆向递推公式在数学上完全等价, 算法。对于实数序列的递推由于初始误差的存在,可以一 算法。对于实数序列的递推由于初始误差的存在,
种方向的递推会使误差扩大, 种方向的递推会使误差扩大,而另一方向的递推会使得误 差逐步减小。在设计(选用) 差逐步减小。在设计(选用)算法时要用使初始误差不增 长的算法。 长的算法。
1 3 1 5 作近似计算, 取 S = x − x + x ,作近似计算,则 3! 5! 为其截断误差。 为其截断误差。
R = sin x − S
条 件 问 题
计算方法中有一类问题称为条件问题, 公式) 条件问题是一个算法 (公式)由于初始 数据或者中间某些数据微小摄动对计算结 果产生影响的敏感性的问题。舍入误差、 果产生影响的敏感性的问题。舍入误差、 观测误差都属初始数据的摄动。研究坏条 观测误差都属初始数据的摄动。 件问题的计算方法是十分重要的课题, 件问题的计算方法是十分重要的课题,有 的时候,一些问题的条件并不坏, 的时候,一些问题的条件并不坏,但由于 算法不恰当, 算法不恰当,初始数据的微小摄动或舍入 误差在计算过程中不断被放大,而可能导 误差在计算过程中不断被放大, 致计算结果的精度大大降低, 致计算结果的精度大大降低,甚至使计算 失去意义。

数值分析第一讲误差

数值分析第一讲误差

3.
4. 5. 6.
数值代数参考书
① ② ① ② ① ② ① ②
微分方程数值解参考书 综合类(数值分析与科学计算、习题、实验等)参考书 其他
数值分析
本门课程的特点
• 既有数学类课程中理论上的抽象性和严谨 性,又有实用性和实验性的技术特征 • 各部分内容相对独立
数值分析
学习要求
• 掌握各种方法的基本原理与构造方法 • 重视各种方法的误差分析 • 掌握经典方法的程序代码
e er x

| x|
相对误差上限 /* relative accuracy */ 定义为 r
实际应用中,精确解往往无法得到!
当 较小时,因两者的差为:
e 实际应用中: er a
r

|a|
思考题1:实际应用中,用a取代x合理吗?为什么?
(提示:当绝对误差限较小时,两者的差为相对误差限的高阶无穷小量,可以忽略)
数值分析
误差的分类(2/4)
一般数学问题包含若干参量,他们的值往往 通过观测得到,而观测难免不带误差,这种 误差称之为观测误差。
4、已经测得在某处海洋不同深度处的水温如下: 深度(M) 466 741 950 1422 水温(oC)7.04 4.28 3.40 2.54 1634 2.13
根据这些数据,希望合理地估计出其它深度(如500米, 600米,1000米…)处的水温
绝对误差 /* absolute error */
e=x-a, 其中x为精确值,a为x的近似值。 |e|的上限记为ε,称为绝对误差限 /* accuracy*/ 工程上常记为x=a±ε,例如:

1
0
e x dx 0.743 0.006

计算方法与计算 实验一误差分析

计算方法与计算 实验一误差分析
(1)MATLAB 主程序 function [k,juecha,xiangcha,xk]= liti112(x0,x1,limax) % 输入的量--x0是初值, limax是迭代次数和精确值x;
% 输出的量--每次迭代次数k和迭代值xk,
%
--每次迭代的绝对误差juecha和相对误差xiangcha,
误差分析
误差问题是数值分析的基础,又是数值分析中一个困难的课题。在实际计算 中,如果选用了不同的算法,由于舍入误差的影响,将会得到截然不同的结果。 因此,选取算法时注重分析舍入误差的影响,在实际计算中是十分重要的。同时, 由于在数值求解过程中用有限的过程代替无限的过程会产生截断误差,因此算法 的好坏会影响到数值结果的精度。 一、实验目的
因为运行后输出结果为: y 1.370 762 168 154 49, yˆ =1.370 744 664 189
38, R 1.750 396 510 491 47e-005, WU= 1.782 679 830 970 664e-005 104 . 所
以, yˆ 的绝对误差为 10 4 ,故 y
③ 运行后输出计算结果列入表 1–1 和表 1-2 中。
④ 将算法 2 的 MATLAB 调用函数程序的函数分别用 y1=15-2*x^2 和
y1=x-(2*x^2+x-15)/(4*x+1)代替,得到算法 1 和算法 3 的调用函数程序,将其保
存,运行后将三种算法的前 8 个迭代值 x1, x2 ,, x8 列在一起(见表 1-1),进行
的精确解 x* 2.5 比较,观察误差的传播.
算法 1 将已知方程化为同解方程 x 15 2x2 .取初值 x0 2 ,按迭代公式
xk1 15 2xk2

第一章有效数字和误差分析

第一章有效数字和误差分析

f f
(x ) ( x )
(
x
)
多元函数的情况
当f为多元函数时计算 A f x1, x,2如,果, xn
的近似值为x1*, x2*,,则 xn* 的近A似为
A* f x1*, x2*,, xn*
于是函数值 A的* 误差 e A由* Taylor展开,
得:
x1, x2,, xn
e A* A* A f x1*, x2*,xn* f x1, x2,xn
借助计算机提供切实可行的数学算法. 所提出的算法必须具有:可靠的理论分析;理 想的精确度;收敛且稳定;误差可以分析或估计.
时间复杂性好__指节省时间; 计算复杂性好
空间复杂性好__指节省存储量。
通过数值实验证明算法行之有效.
构造数值算法主要手段
采用“近似替代”方法→逼近 采用“构造性”方法 采用“离散化”方法
f (x) f (x ) f (x )(x x ) f ( ) (x x )2 2!
舍去右边第二项得到 f (x) f (x ) f (x )(x x )
即 f (x ) 的绝对误差 e( f (x )) f (x )e(x )
可以得到 f (x ) 的相对误差
er ( f (x ))
例6 已知近似数x*的相对误差限为0.3%,问x*
有几位有效数字?
解:由
得 er *
1
10 (n1)
2(x1 1)
3 1 10 (n1) 1000 2(x1 1)
ⅰ当x1=1时,310-3=1/410-(n-1)1210-3=10-(n-1) 上式两边取以10为底的对数得
lg22+lg3+(-3)=-n+1 ∵lg2=0.3010 lg3=0.4771

数值分析第一章实验 误差分析

数值分析第一章实验  误差分析

1. 计算11n x nI ex e dx -=⎰(n=0,1,2,……)并估计误差。

由分部积分可得计算n I 的递推公式111101,1,2,e 1.nn x I nI n I e dx e ---=-=⎧⎪⎨==-⎪⎩⎰……. (1) 若计算出0I ,代入(1)式,可逐次求出 12,,I I …的值。

要算出0I 就要先算出1e -,若用泰勒多项式展开部分和21(1)(1)1(1),2!!ke k ---≈+-+++…并取k=7,用4位小数计算,则得10.3679e -≈,截断误差14711|0.3679|108!4R e --=-≤<⨯.计算过程中小数点后第5位的数字按四舍五入原则舍入,由此产生的舍入误差这里先不讨论。

当初值取为000.6321I I ≈= 时,用(1)式递推的计算公式为 010.6321A 1nn I I nI -⎧=⎨=-⎩ (),n=1,2,…。

计算结果见表1的n I 列。

用0I 近似0I 产生的误差000E I I =- 就是初值误差,它对后面计算结果是有影响的.表1 计算结果从表1中看到8I 出现负值,这与一切0n I >相矛盾。

实际上,由积分估值得111110001011(im )(max)11x n n n x x e e m e x dx I e x dx n n ---≤≤≤≤=<<=++⎰⎰ (2) 因此,当n 较大时,用n I 近似n I 显然是不正确的。

这里计算公式与每步计算都是正确的,那么是什么原因合计算结果出现错误呢?主要就是初值0I 有误差000E I I =- ,由此引起以后各步计算的误差n n nE I I =- 满足关系1,1,2,n n E nE n -=-=….由此容易推得0(1)!n n E n E =-,这说明0I 有误差0E ,则n I 就是0E 的n!倍误差。

例如,n=8,若401||102E -=⨯,则80||8!||2E E =⨯>。

课件-数值分析(第五版)1-3章

课件-数值分析(第五版)1-3章
2017/3/12
x x
f ( x) f ( x* ) f ( x)
x x

xf ( x) f ( x)
C p 10 即认为是病态
f ( x) x n
9 第1章 数值分析与科学计算引论
研究对象 作用特点
数值计算 误差
误差分析 避免危害
数值计算 算法设计
数学软件
2. 算法的数值稳定性 定义3 一个算法如果输入数据有误差,而在计算过程中舍入误 差不增长,则称此算法是数值稳定的,否则称此算法为不稳定 的。 例1.1:P.9 I n e
x 0.003
y 1
2017/3/12

1000
1.00314 , y * 1.003
6 第1章 数值分析与科学计算引论
研究对象 作用特点
数值计算 误差
误差分析 避免危害
数值计算 算法设计
数学软件
注: 有效位数与小数点后有多少位无关; m相同情况下,有效位数越多,误差限越小; 相对误差及相对误差限是无量纲的,绝对误差及误差限是有量纲的。
数值计算 算法设计
数学软件
1.1 数值分析的对象、作用与特点
1 研究对象
用计算机求解数学问题的数值计算方法、理论及软件实现
实际问题 数学模型 数值计算方法 程序设计(数学软件) 上机计算求出结果
应用数学
计算数学即数值分析
数值分析(计算方法) 插值与函数逼近(2、3)数值微分与数值积分(4) 的研究对象
第一章习题
1, 5,7,12,14

谢 !
2017/3/12
14 第1章 数值分析与科学计算引论
第2章 插值法
引言
拉格朗日(Lagrange)插值 均差与牛顿(Newton)插值 埃尔米特(Hermite)插值 分段低次插值 三次样条插值
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

克莱姆算法步骤
1. 2.
D for 2.1. 2.2.
( j1 jn )
t ( 1 ) a1 j1 a 2 j2 a nj n
i 1 n Di
( i1 i n ) t ( 1 ) a i1 1 bi2 j a in n
Di xi D
N=[(n2-1)n!+n]flop
每周有课外练习,两周交一次作业, 一学期完成 3 个综合程序课题设计。 考试评分: 平时作业+程序占总成绩的30%,
期末考试占总成绩的70%,开卷考试。
Matlab_zm@ 密码 123456
数值分析
数值分析
第二节 数值问题与数值算法
求数学问题的数值解称为数值问题.
数值方法:适合在计算机上,按确定顺序依次进行计算 的计算公式,也就是通常所说的数值计算方法。 数值算法:从给定的已知量出发,经过有限次四则运算
有递推公式
注意
计算量 N n flop
Pn ( x) x( x( x( x(an x an1 ) an2 ) a1 ) a0
数值分析

sn an sk xsk 1 ak P n ( x) s0
k n 1,,2,1,0
数值分析
例3 矩阵乘积AB的计算量分析
第一节 数值分析的研究对象和特点
我们把在电子计算机上进行的科学工作称为科学计算。 科学研究的方法: 科学理论,科学实验,科学计算 科学计算的核心内容是以现代化的计算机及数学软件 为工具,以数学模型为基础进行模拟研究。
数值分析
数值分析
第一节 数值分析的研究对象和特点
科学计算的步骤:实际问题→数学模型→数值方法 →程序设计→上机计算→分析结果。 1、建立数学模型(实际问题数学化) 2、设计计算方案(数学问题数值化)
数值分析
数值分析
一、误差的来源与分类
例1 记Lt 是金属棒在温度t的长度,L0是t0度时金 属棒的长度,求在任何温度下金属棒的长度。
根据热胀冷缩原理和物理实验,可建立如下 数学模型: l t L0 (1 t t )
2
这里L0是金属棒在t 0时的长度,、 为物理参数 并有如下估计:
有递推公式

sn an sk xsk 1 ak P n ( x) s0
k n 1,,2,1,0
需乘法n次,加法n次,存储单元n+3个。
数值分析
数值分析
算法A (输入a(i)(i=0,1,…,n),x;输出y)
t 1 u a (0) for i 1 : n t x*t u u a(i ) * t end
Ax=b A可逆
由线性方程组的克莱姆(Cramer)规则可知,如果方程组 (1)的系数矩阵A的行列式(一般记为D=|A|)不等于零,那末,这 个方程组有唯一解,而且它们可以表示为 xi=Di/D (i=1,…,n)
这里,Di是指D中第i列元素用右端(b1,… bn)代替构成的行列 式。
数值分析
数值分析
a a a …a a a a …a ...... … ... a a a …a
11 12 13
1n
21
22
23
2n
m1
m2
m3
mn
b b b … b b b b … b ...... … ... b b b … b
11 12 13 21 22 23 n1 n2 n3
1s 2s
=[cij]ms
ns
A
数值分析
数值分析
学习重点:
1. 构造数值方法的原理(支撑理论) 迭代法,以直代曲,化整为零,外推法
2. 评价数值方法的好坏 (研究数值方法的性态、可靠性、效率) 3. 数值方法的计算机实现(计算机实习) 要掌握高级编程语言: FORTRAN, C , Matlab
数值分析
数值分析
Matlab几个显著特点:
Cij aik bkj
k 1 n
B
i 1,, m; j 1,, s
A B 的计算量为N= (m n s )flop
数值分析
数值分析
例4 :求解n元线性方程组 a11x1+a12x2+ … +a1nxn=b1 ……………… an1+an2x2+ … +annxn=bn
(1)
数值分析
数值分析
例5 下面给出矩阵-向量乘法的几个基本算法
设 A R
mn
, x R , y R ,计算 Ax y ,
n m
存Hale Waihona Puke 在 y 中。即yi aij x j yi ,
j 1
n
i 1, , m
算法 A(行型): 算法 B(列型): for i = 1 : m for j = 1 : n for i = 1 : m for j = 1 : n y(i) =A(i,j)* x(j ) + y(i) y(i) =A(i,j)* x(j ) + y(i) end end end end
数值分析
数值分析
4、舍入误差 用计算机计算,由于计算机字长有限而在 数值运算的每一步所产生的误差称为舍入误差。在例2 中的用4位浮点机计算 1 所产生的误差
6 1 0.1667 0.0000334 就是舍入误差。 6
数值分析
数值分析
二、截断误差分析
例1:(截断误差)
x
1 2 1 3 1 n 已知e 1 x x x x , 2! 3! n! 求e 1的近似值,并估计误差。
0.001253 10 6 , 0.000068 10 6
1 、模型误差 数学模型与实际问题之间出现的这种误 差称为模型误差。在例1中, Lt lt 就是模型误差。
数值分析
数值分析
一、误差的来源与分类
2、观测误差 通过仪器观测,确定数学模型中的参数所 引起这种的误差称为观测误差。在例1中的106 就是观测 误差。 例2 求e x的近似值。 1 2 1 3 1 n x e 1 x x x x , 2! 3! n! 1 2 1 3 S3 ( x ) 1 x x x 2! 3! 3、截断误差 模型的准确解与某种数值方法的准确解之 间的误差称为截断误差或方法误差。在例2中, 1 4 x e S3 ( x ) x 就是截断误差。 4!
数值分析
主 讲:张 明 EMAIL: math2@ OFFICE:基础楼201 PHONE(H):89741231
PHONE(O):89731281
matlab_zm@ 密码 123456
数值分析
数值分析
第一章 绪 论
第一节 数值分析的研究对象和特点
数值分析实际上就是介绍在计算机上解决数学问 题的数值计算方法及其理论.这门课程又称为数值计算 方法.
需乘法3次,加法3次,存储单元6个。
数值分析
一般地,计算n次多项式的值
数值分析
P n ( x) an x an1 x
n
n1
a1x a0
算法A、需乘法2n-1次,加法n次,存储单元n+4个。 算法B、秦九韶算法1247 (又称为Horner算法1819)
Pn ( x) x( x( x( x(an x an1 ) an2 ) a1 ) a0

(输入x, 输出y)
计算量 N 14 flop
存储量=3
数值分析
数值分析
例2:计算多项式p( x) 3 x 3 4 x 2 2 x 6的值。
算法A:由x计算出x 2 , x 3后再算。
需乘法5次,加法3次,存储单元7个。
算法B:p( x ) x[ x(3 x 4) 2] 6
1 用Matlab处理矩阵——容易 2 用Matlab绘图——轻松 3 用Matlab编程——简洁 4 Matlab具有丰富的工具箱 本课程的基本目的,是使学生通过学习和实验,初 步建立并理解数值计算,特别是科学与工程计算的基本 概念,为进一步深入的学习打下坚实的基础。
数值分析
数值分析
基本要求
作业要求:
数值逼近: 函数插值,函数逼近,数值积分,数值微分,
常微分方程的数值解法.
数值分析
数值分析
数值分析的特点: 1、要根据计算机的特点设计有效算法。即算法只能包括 加、减、乘、除运算和逻辑运算。因此“归纳”成了不容 忽视的思维方法。 2、要有可靠的理论分析。即近似解能任意达到精度要求, 近似算法要保证收敛性和稳定性。因此讨论的核心问题是 “误差”。 3、要有好的计算复杂性。计算复杂性包括时间复杂性 和空间复杂性。时间复杂性好是指节省时间,空间复杂 性好是指节省存储量。因此这是在算法设计和程序设计 中要研究的问题。 4、要有数值实验。即任何一个算法都要通过数值试验证 明是行之有效的。
n
注意
计算量 N 2n flop
Pn ( x) an x an1 x
n1
a1 x a0
数值分析
数值分析
算法B (秦九韶算法) (输入a(i)(i=0,1,…,n),x;输出y)
p a ( n) for k n 1 : 1 : 0 p x * p a( k ) end
概率积分
2


t
0
e
x2
dx
t [0, )
数值分析
数值分析
第一章 绪 论
第一节 数值分析的研究对象和特点
硬件 计算机 软件 核心算法 数值算法 非数值算法 功能 算术与逻辑运算
计算机硬件的特点是快.软件就是利用计算机高速的 简单运算去实现各种复杂的功能。
相关文档
最新文档