第一章 数值分析的基本概念(删减版)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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) 没有解析解,数值解法求取近似解。
数值稳定性
误差传播问题: 设函数y=f(x1, x2, , xn)是一 * i x 个算法或模型, i 是变量xi的准确值,而 x i || xi* x i | i, 是变量xi的近似值。如果 | x 且f的计算过程中没有新的误差产生,那么计 f (x 1 , x 2 ,, x n ) 具有怎样的精度?即 算结果 y
注意事项
病态问题 速度细节(加法、乘法,函数) 计算多项式的值 存储细节(降维) 计算多项式的值 稳定性细节(相近数相减(例),大数吃小数(例),分母接近 0 (例 ) ) 死循环 设置循环的上界。 实数相等比较 中间结果(要少显示和输出)
成绩的评定方法
笔试考试:70% 闭卷
上机考试:20% 平时成绩:10%
作业和答疑
作业:双周上课前交到讲台上 上机作业要在上机时检查 答疑:1)课前或课后 2)2号学院楼449室 67792331 3)jpyu@dhu.edu.cn
第一章 数值分析的基本概念
§1.1 数值算法的研究对象 §1.2 误差分析的概念 §1.3 数值算法设计的一些要点
数值算法的特点
有穷性 数值性 近似性
§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 |。 误差的四则运算见后
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
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之间
解:
xj
(1) Cramer法则 D Dj为由b置换D的第j列所得。 (2)根据求根公式得x*=2; y1 y0 (3) P(x2)= y0 x1 x0 ( x2 x0 ); b (4) 根据积分公式得到 I ln a ; (5) 根据常微分方程求解公式得
1 2 y( x ) x 2
§1.Байду номын сангаас 数值算法的研究对象
研究对象
数学分析、高等代数、概率论与数理统计都是精确 数学,例如极限、导数、积分都是唯一的。 数值分析不同,我们面对的问题是理论上有解的, 但我们没有求解公式;另外一种情况,计算量过大, 我们手工难以实现的。这样的一类问题,实际上都 是无限的,但我们只能取有限项求解,因此得到的 是近似解。 近似解就有个近似程度,这个解就不是唯一的了, 精确度不同,解就不同,距离真解误差越小越好。
非线性情形用线性近似
f * ( i , y )x i 1 xi
n
f * xi* ) ( i ) r ( y ) * r (x y i 1 xi
n
绝对误差传播主要取决于条件数 | ( f )* |
* x f 相对传播主要取决于条件数 | ( )* i | xi y*
准确位数和有效数字(定义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位 有效数字。
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
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@dhu.edu.cn
教材
《数值分析及其MATLAB实验》
姜健飞 吴笑千 胡良剑编
上课(2--17周)
每周五 8:15-9:45 第二教学楼129室
每个单周五 10:05-11:35 图文3号机房 (图文 信息中心) 请按机号入座!
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
例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
利用计算机!但是:
计算机的认识能力是有限的 (例如C语言不 能识别“积分”) 计算机的计算能力也是有限的(例如例2(1), 超级计算机“天河二号”每秒做33.86千万亿 次乘法,也需要591亿年)
解决方案:
可行且高效的算法+计算机
2 数值算法的特点:
计算机算法
对于给定的问题和设备(计算机),一个算法是 用该设备可理解的语言表示的,对解决这个问题 的一种方法的精确刻画。 计算机算法主要包含数值算法、非数值算法和软 计算方法三类。
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 ( 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
计算误差限: 例如:| (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
数值计算软件
Fortran
C++
Matlab
三类计算机算法
数值算法主要指与连续数学模型有关的算法, 如数值线性代数、方程求解、数值逼近、数 值微积分、微分方程数值解和最优化计算方 法等;(本课程内容) 非数值算法主要指与离散数学模型有关的算 法,如排序、搜索、分类、图论算法等; 软计算方法是近来发展的不确定性算法的总 称,包括神经网络计算、模糊逻辑、遗传算 法、蚂蚁算法等。
应用:大数据搜索、金融、核实验、飞行器、 油田勘探、天气预报 ......
地球外部大气流动模型
飞机外形优化设计问题
数值分析课程的期望
掌握各种解决数学问题的数值方法 对近似解进行评估 在计算机上实现求解 仿真模拟
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
等价定义:如果近似值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位 有效数字。
研究过程
(理论上有解,而无求解公式或计算量过大难以用 手工实现的数学问题)
实际问题
数学模型
数值分析理论 程序设计 上机计算
重点内容
研究并求解数学问题的数 值(近似)解的方法
理论分析
科学实验 科学计算
计算的目的不在于数据,而在于洞察事物。 --理查德· 哈明
The purpose of computing is insight,not numbers. --Richard Wesley Hamming
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) 没有解析解,数值解法求取近似解。
数值稳定性
误差传播问题: 设函数y=f(x1, x2, , xn)是一 * i x 个算法或模型, i 是变量xi的准确值,而 x i || xi* x i | i, 是变量xi的近似值。如果 | x 且f的计算过程中没有新的误差产生,那么计 f (x 1 , x 2 ,, x n ) 具有怎样的精度?即 算结果 y
注意事项
病态问题 速度细节(加法、乘法,函数) 计算多项式的值 存储细节(降维) 计算多项式的值 稳定性细节(相近数相减(例),大数吃小数(例),分母接近 0 (例 ) ) 死循环 设置循环的上界。 实数相等比较 中间结果(要少显示和输出)
成绩的评定方法
笔试考试:70% 闭卷
上机考试:20% 平时成绩:10%
作业和答疑
作业:双周上课前交到讲台上 上机作业要在上机时检查 答疑:1)课前或课后 2)2号学院楼449室 67792331 3)jpyu@dhu.edu.cn
第一章 数值分析的基本概念
§1.1 数值算法的研究对象 §1.2 误差分析的概念 §1.3 数值算法设计的一些要点
数值算法的特点
有穷性 数值性 近似性
§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 |。 误差的四则运算见后
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
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之间
解:
xj
(1) Cramer法则 D Dj为由b置换D的第j列所得。 (2)根据求根公式得x*=2; y1 y0 (3) P(x2)= y0 x1 x0 ( x2 x0 ); b (4) 根据积分公式得到 I ln a ; (5) 根据常微分方程求解公式得
1 2 y( x ) x 2
§1.Байду номын сангаас 数值算法的研究对象
研究对象
数学分析、高等代数、概率论与数理统计都是精确 数学,例如极限、导数、积分都是唯一的。 数值分析不同,我们面对的问题是理论上有解的, 但我们没有求解公式;另外一种情况,计算量过大, 我们手工难以实现的。这样的一类问题,实际上都 是无限的,但我们只能取有限项求解,因此得到的 是近似解。 近似解就有个近似程度,这个解就不是唯一的了, 精确度不同,解就不同,距离真解误差越小越好。
非线性情形用线性近似
f * ( i , y )x i 1 xi
n
f * xi* ) ( i ) r ( y ) * r (x y i 1 xi
n
绝对误差传播主要取决于条件数 | ( f )* |
* x f 相对传播主要取决于条件数 | ( )* i | xi y*
准确位数和有效数字(定义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位 有效数字。
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
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@dhu.edu.cn
教材
《数值分析及其MATLAB实验》
姜健飞 吴笑千 胡良剑编
上课(2--17周)
每周五 8:15-9:45 第二教学楼129室
每个单周五 10:05-11:35 图文3号机房 (图文 信息中心) 请按机号入座!
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
例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
利用计算机!但是:
计算机的认识能力是有限的 (例如C语言不 能识别“积分”) 计算机的计算能力也是有限的(例如例2(1), 超级计算机“天河二号”每秒做33.86千万亿 次乘法,也需要591亿年)
解决方案:
可行且高效的算法+计算机
2 数值算法的特点:
计算机算法
对于给定的问题和设备(计算机),一个算法是 用该设备可理解的语言表示的,对解决这个问题 的一种方法的精确刻画。 计算机算法主要包含数值算法、非数值算法和软 计算方法三类。
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 ( 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
计算误差限: 例如:| (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
数值计算软件
Fortran
C++
Matlab
三类计算机算法
数值算法主要指与连续数学模型有关的算法, 如数值线性代数、方程求解、数值逼近、数 值微积分、微分方程数值解和最优化计算方 法等;(本课程内容) 非数值算法主要指与离散数学模型有关的算 法,如排序、搜索、分类、图论算法等; 软计算方法是近来发展的不确定性算法的总 称,包括神经网络计算、模糊逻辑、遗传算 法、蚂蚁算法等。
应用:大数据搜索、金融、核实验、飞行器、 油田勘探、天气预报 ......
地球外部大气流动模型
飞机外形优化设计问题
数值分析课程的期望
掌握各种解决数学问题的数值方法 对近似解进行评估 在计算机上实现求解 仿真模拟
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
等价定义:如果近似值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位 有效数字。
研究过程
(理论上有解,而无求解公式或计算量过大难以用 手工实现的数学问题)
实际问题
数学模型
数值分析理论 程序设计 上机计算
重点内容
研究并求解数学问题的数 值(近似)解的方法
理论分析
科学实验 科学计算
计算的目的不在于数据,而在于洞察事物。 --理查德· 哈明
The purpose of computing is insight,not numbers. --Richard Wesley Hamming