290 likes | 568 Views
数值分析. 上课 每周三 8:15-9:45 二教 125 双周三 10:05-11:35 图文 3 号机房 请按机号入座!. 考试成绩 笔试 70% ,上机考试 20% , 平时 10%. 胡良剑 Ljhu@dhu.edu.cn 信息理学楼 543 67792090-543. 数值分析. 数值分析是 数学与计算机技术结合的 一门学科,研究利用计算机解决数学问题的理论和方法,是计算数学的一个重要分支。 ----- zh.wikipedia.org.
E N D
数值分析 上课 每周三 8:15-9:45 二教125 双周三 10:05-11:35 图文3号机房 请按机号入座! 考试成绩 笔试70%,上机考试20%, 平时10% 胡良剑 Ljhu@dhu.edu.cn 信息理学楼543 67792090-543
数值分析 数值分析是数学与计算机技术结合的 一门学科,研究利用计算机解决数学问题的理论和方法,是计算数学的一个重要分支。 -----zh.wikipedia.org
现代复杂工程技术问题的解决步骤 工程问题 数学模型 设计算法 问题解答 结果分析 上机计算
第一章数值分析的基本概念 §1.1 数值算法的研究对象 §1.2 误差分析的概念 §1.3 数值算法设计的一些要点
例1. 1 (易计算问题) (1) 求解线性方程组AX=B, 其中A为3阶可逆方阵,X=(x1, x2, x3)T; (2) 求代数方程3x2+8x3=0在[0,1]上的根x*; (3) 已知y=P(x)为[x0, x1]上的直线,满足P(x0)=y0, P(x1)=y1, x2(x0, x1), 求P(x2); (4) 计算定积分 (1<a<b); (5) 解常微分方程初值问题
解: (1) Cramer法则 , 其中D=|A|, Dj为由B置换D的第j列所得。 (2)根据求根公式得x*=1/3; (3) P(x2)= ; (4) 根据积分公式得到 ; (5) 根据线性常微分方程求解公式得
例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); (4) 计算定积分 (1<a<b); (5) 解常微分方程初值问题
解:例1.2同例1.1“差不多” ? (1) 计算量非常大; (2) 无法求得x*的解析形式,只能求近似值; (3) f(x2) 试试; (4) 无法找到原函数,考虑近似方法; (5) 没有解析解,数值解法求取近似解。
利用计算机!但是……. • 计算机的认识能力是有限的 • 计算机的计算能力也是有限的 • 可行且高效的算法+计算机!!!
2 数值算法的特点: • 计算机算法 • 对于给定的问题和设备(计算机),一个算法是用该设备可理解的语言表示的,对解决这个问题的一种方法的精确刻画。 • 计算机算法主要包含数值算法、非数值算法和软计算方法三类。
三类计算机算法 • 数值算法主要指与连续数学模型有关的算法,如数值线性代数、方程求解、数值逼近、数值微积分、微分方程数值解和最优化计算方法等;(本课程内容) • 非数值算法主要指与离散数学模型有关的算法,如排序、搜索、分类、图论算法等; • 软计算方法是近来发展的不确定性算法的总称,包括随机模拟、神经网络计算、模糊逻辑、遗传算法、模拟退火算法和DNA算法等。
数值算法的特点 • 有穷性 • 数值性 • 近似性
数值计算软件 • Fortran • C++ • Matlab
§1.2 误差分析的概念 • 误差限和有效数字 • 截断误差与收敛性 • 舍入误差和数值稳定性 • 数据误差和病态问题
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.2) • 设x =0.a1 a 2an10m (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.3 (误差限和有效数字) • 圆周率=3.1415926。 • x1=3.14; x 2=3.141; x 3=3.142; x 4=3.1414 • 解(1) x 1=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, |x1|0.5103, 有4位有效数字。
有效数字概念的通俗定义 • 设x*是某量的准确值,x是x*的近似值,如果在从第一个非零数字开始的第n位进行四舍五入(即考虑第n+1位是舍还是入?),x*和x的结果完全一致,则称x有n位有效数字。 • 与定义1.2的区别
2. 截断误差与收敛性 • 截断误差:一个无限的数学极限过程用有限次运算近似计算产生的误差。 • 例(无限) • 近似计算(有限) • 截断误差(余项公式) 在0与x之间
3. 舍入误差和数值稳定性 • 舍入误差: 由于机器字长的限制而产生的误差 • 机器数(二进制0-1,离散) • 规格化浮点式: 阶码m,字长t ,尾数 (1=1) 2m0.12t,m=12s • 单精度32位(4字节): t=23,s=7, 符号2位, 表示范围2.910393.41038 (即2-128 2128),识别差2-23=1.19 107 • 双精度64位(8字节) : t=52,s=10, 符号2位,表示范围5.56103091.7910308 (即2-1024 21024),识别差 2-52=2.22 1016 • 上溢出和下溢出0 0
数值稳定性 • 误差传播问题: 设函数y=f(x1, x2, , xn)是一个算法或模型, 是变量xi的准确值,而 是变量xi的近似值。如果 , 且f的计算过程中没有新的误差产生,那么计算结果 具有怎样的精度?即 • 算法的数值稳定: 计算过程中舍入误差不会被严重放大
误差的传播 • 线性情形用严格估计 • 非线性情形用线性近似 • 绝对误差传播主要取决于条件数 • 相对传播主要取决于条件数
四则运算 • (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
例1.5 (数值稳定性) • n=0, 1, …, 20 • 估计 • 算法一:递推公式 In=1nIn-1, n=1,,20 • I0=1-1/e I1 I2 … I20误差很大 • n= nn-1, 20 =(20!) 0,不稳定 • 算法二:递推公式 In-1=(1In)/n, n= 20 ,,1 • I20估计式中点 I19 … I1 I0误差很小 • n-1= n /n, 0 =20 /(20!),稳定
4. 数据误差和病态问题 • 例1.6 (病态问题) • x1=x2=x3=1 x1=1.1788, x2=-0.0006, x3= 1.9658. • 病态问题: 很小的变化数据却导致解产生了很大的变化。 • 区别:收敛性和数值稳定性主要源于算法,病态性主要是模型本身的原因 。
§1.3 数值算法设计的一些要点 • 设计算法基本原则 • 精度:收敛性、稳定性 • 速度:计算量、存储量,收敛速度 • 注意事项 • 病态问题 • 速度细节(加法、乘法,函数) • 稳定性细节(近似数相减,分母接近0, 大数吃小数) • 例1.8(相近的数相减)x=10-8, •
例1.9 (大数吃小数) y=123456+ , 0.01xi0.04 • 存储细节(降维) • 死循环 • 实数相等比较 sin2x=1-cos2x|sin2x-(1-cos2x)| • 中间结果
作业 • P11, ex1, ex2, ex5, ex7