当前位置:文档之家› 第一章 数值分析的基本概念(删减版)

第一章 数值分析的基本概念(删减版)


2. 截断误差与收敛性
截断误差:一个无限的数学极限过程用有限次运算 近似计算产生的误差。 例(无限) 2 n 近似计算(有限)
x
x x e 1 x 2! n!
x
x x e Sn ( x ) 1 x 2! n!
2
n
n1 x x e Sn ( x ) Rn ( x ) e (n 1)! 在0与x之间
Байду номын сангаас
数值算法的特点
有穷性 数值性 近似性
§1.2 误差分析的概念
1. 2. 3. 4. 误差限和有效数字 截断误差与收敛性 舍入误差和数值稳定性 数据误差和病态问题
1. 误差限和有效数字
误差和相对误差(定义1.1)
设x*是某量的准确值,x是x*的近似值 称x = x*-x 为x的误差或绝对误差。 | x*-x |, 称为x的(绝对)误差限或精度, rx = (x*-x)/x*称为x的相对误差 |(x*- x)/ x *| r, 称 r为x的相对误差限。 当 r 很小时, r /| x |。 误差的四则运算见后
应用:大数据搜索、金融、核实验、飞行器、 油田勘探、天气预报 ......
地球外部大气流动模型
飞机外形优化设计问题
数值分析课程的期望
掌握各种解决数学问题的数值方法 对近似解进行评估 在计算机上实现求解 仿真模拟
1. 例1. 1 (易计算问题)
(1) 求解线性方程组AX=b, 其中A为3阶可逆方 阵,X=(x1, x2, x3)T; (2) 求代数方程x2+x6=0在[0,4]上的根x*; (3) 已 知 y=P(x) 为 [x0, x1] 上 的 直 线 , 满 足 P(x0)=y0, P(x1)=y1, x2(x0, x1), 求P(x2); b 1 (4) 计算定积分 I a x dx (1<a<b); (5) 解常微分方程初值问题 y ' x y ( 0) 0
b a
y ( 0) 0
解:例1.2同例1.1“差不多” ?
(1) 计算量非常大,31*30!*29次乘法; (2) 无法求得x*的解析形式,只能求近似值; y1 y0 y0 ( x2 x0 ) (3) f(x2) 试试; x1 x0 (4) 无法找到原函数,考虑近似方法; (5) 没有解析解,数值解法求取近似解。
I0=1-1/e I1 I2 … I20 误差很大(见书P8) ,
* * n = nn-1, 20 =(20!) 0 ,不稳定 In 1 nI n 1 ,
算法二:递推公式 In-1=(1In)/n, n= 20 ,,1
I20估计式中点 I19 … I1 I0 误差很小
截断误差(余项公式)
算法的收敛性:该算法总可以通过提高计算 量使得截断误差任意小。即 余项0
3. 舍入误差和数值稳定性
舍入误差: 由于机器字长的限制而产生的误差 机器数(二进制0-1,离散) 规格化浮点式: 阶码m(用二进制数表示),字长t , 尾数 (1=1) 2m0.12t, m=12s
数值分析 Numerical Analysis
于佳平 东华大学
Email:jpyu@
教材
《数值分析及其MATLAB实验》
姜健飞 吴笑千 胡良剑编
上课(2--17周)
每周五 8:15-9:45 第二教学楼129室
每个单周五 10:05-11:35 图文3号机房 (图文 信息中心) 请按机号入座!
|| f ( x , x ,, x ) f ( x 1, x 2 ,, x n ) | ? | y
* 1 * 2 * n
算法的数值稳定: 计算过程中舍入误差 不会被严重放大
误差的传播
线性情形用严格估计
* * * || f ( x1 1 , x 2 , , x n ) | | ai | i | y , x2 , , xn ) f (x i 1 n
数值计算软件
Fortran
C++
Matlab
三类计算机算法
数值算法主要指与连续数学模型有关的算法, 如数值线性代数、方程求解、数值逼近、数 值微积分、微分方程数值解和最优化计算方 法等;(本课程内容) 非数值算法主要指与离散数学模型有关的算 法,如排序、搜索、分类、图论算法等; 软计算方法是近来发展的不确定性算法的总 称,包括神经网络计算、模糊逻辑、遗传算 法、蚂蚁算法等。
n-1 = n /n, 0 =20 /(20!),稳定
4. 数据误差和病态问题
3 21 949 49 x x x 36 1 4 2 40 3 360 61 3 1061 3 x x x 1 2 3 4 144 10 720 3 769 3739 21 40 x1 10 x2 3600 x3 3600
计算误差限: 例如:| (a b) || a b | ?
| (ab) || b a a b | ?
例1.5 (数值稳定性)
估计
In x e
0
1
n x 1
dx ,
n=0, 1, …, 20
1 1 In ( n 1)e n1
算法一: 分部积分递推公式 In=1nIn-1, n=1,,20
例1.6 (病态问题)(保留4位有效数字)
1.361 x1 0.7500 x2 0.5250 x3 2.636 0.7500 x1 0.4236 x2 0.3000 x3 1.474 0.5250 x 0.3000 x 0.2136 x 1.039 1 2 3
等价定义:如果近似值x的绝对误差限不超过它某一位的半个 单位,则从这一位起,直到最左边的第一位非零数字为止的
所有数字都称为有效数字。并说x“准确”到这一位。
例1.3 (误差限和有效数字)
圆周率 =3.1415926。 x1=3.14; x 2=3.141; x 3=3.142; x 4=3.1414 解 (1) x1=0.314101 , x1=0.15926102, |x1| 0.5102,有3位有效数字; (2) x2=0.5926103, |x2|0.5102,有3位 有效数字; (3) x3= 0.4073103, |x3|0.5103,有4位 有效数字; (4) x4=0.1926103, |x4|0.5103, 有4位 有效数字。
x1=x2=x3=1 x1=1.2203, x2= -0.3084, x3= 2.2981. 病态问题: 很小的变化数据却导致解产生了很大的 变化。 区别:收敛性和数值稳定性主要源于算法,病态性 主要是模型本身的原因 。
§1.3 数值算法设计的一些要点
设计算法基本原则
计算精度:收敛性、稳定性 计算速度:计算量、收敛速度、多个CPU通信 计算空间:存储量
xi
条件数很大 病态问题
误差的四则运算
(ab)=ab, r(ab)= [a/(ab)]ra[b/(ab)]rb(相近数相减 不稳定) (ab) ba+ab r(ab) ra+rb (a/b) (1/b)a(a/b2)b (分母b 0不稳定) r(a/b) rarb
0
单精度32位(4字节): t=23,s=7, 符号2位, 表示范 围 2.910393.41038 (2-128 2128) 双精度64位(8字节) : t=52,s=10, 符号2位,表示 范围 5.56103091.7910308 (2-1024 21024) 上溢出和下溢出0
利用计算机!但是:
计算机的认识能力是有限的 (例如C语言不 能识别“积分”) 计算机的计算能力也是有限的(例如例2(1), 超级计算机“天河二号”每秒做33.86千万亿 次乘法,也需要591亿年)
解决方案:
可行且高效的算法+计算机
2 数值算法的特点:
计算机算法
对于给定的问题和设备(计算机),一个算法是 用该设备可理解的语言表示的,对解决这个问题 的一种方法的精确刻画。 计算机算法主要包含数值算法、非数值算法和软 计算方法三类。
准确位数和有效数字(定义1.2)
设x =0.a1 a 2an 10m (m为整数) (1.1) 其中a 1~an为0~9中一个数字且a 10。 如果 | x*-x|0.510k (1.2) 即x的误差不超过10-k位的半个单位 则称近似数x准确到第k位小数,并说x有m+k位 有效数字。
§1.1 数值算法的研究对象
研究对象
数学分析、高等代数、概率论与数理统计都是精确 数学,例如极限、导数、积分都是唯一的。 数值分析不同,我们面对的问题是理论上有解的, 但我们没有求解公式;另外一种情况,计算量过大, 我们手工难以实现的。这样的一类问题,实际上都 是无限的,但我们只能取有限项求解,因此得到的 是近似解。 近似解就有个近似程度,这个解就不是唯一的了, 精确度不同,解就不同,距离真解误差越小越好。
Dj
, j 1, 2, 3
, 其中D=|A|,
例1.2 (难计算问题)
(1) 求解线性方程组AX=B, 其中A为30阶可逆方 阵,X=(x1, x2,, x30)T; (2) 求超越方程xex =1在[0,1]上的根x*; (3) 已知y=f(x)为[x0, x1]上的函数,满足f(x0)=y0, f(x1)=y1, x2(x0, x1), 求f(x2); 1 I (4) 计算定积分 ln x dx (1<a<b); (5) 解常微分方程初值问题 y ' x y 2
非线性情形用线性近似
f * ( i , y )x i 1 xi
n
f * xi* ) ( i ) r ( y ) * r (x y i 1 xi
n
绝对误差传播主要取决于条件数 | ( f )* |
相关主题