1 / 29

数值分析

数值分析. 上课 每周三 8:15-9:45 二教 125 双周三 10:05-11:35 图文 3 号机房 请按机号入座!. 考试成绩 笔试 70% ,上机考试 20% , 平时 10%. 胡良剑 Ljhu@dhu.edu.cn 信息理学楼 543 67792090-543. 数值分析. 数值分析是 数学与计算机技术结合的 一门学科,研究利用计算机解决数学问题的理论和方法,是计算数学的一个重要分支。 ----- zh.wikipedia.org.

kylee
Download Presentation

数值分析

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 数值分析 上课 每周三 8:15-9:45 二教125 双周三 10:05-11:35 图文3号机房 请按机号入座! 考试成绩 笔试70%,上机考试20%, 平时10% 胡良剑 Ljhu@dhu.edu.cn 信息理学楼543 67792090-543

  2. 数值分析 数值分析是数学与计算机技术结合的 一门学科,研究利用计算机解决数学问题的理论和方法,是计算数学的一个重要分支。 -----zh.wikipedia.org

  3. 现代复杂工程技术问题的解决步骤 工程问题 数学模型 设计算法 问题解答 结果分析 上机计算

  4. 第一章数值分析的基本概念 §1.1 数值算法的研究对象 §1.2 误差分析的概念 §1.3 数值算法设计的一些要点

  5. 例1. 1 (易计算问题) (1) 求解线性方程组AX=B, 其中A为3阶可逆方阵,X=(x1, x2, x3)T; (2) 求代数方程3x2+8x3=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) 解常微分方程初值问题

  6. 解: (1) Cramer法则 , 其中D=|A|, Dj为由B置换D的第j列所得。 (2)根据求根公式得x*=1/3; (3) P(x2)= ; (4) 根据积分公式得到 ; (5) 根据线性常微分方程求解公式得

  7. 例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) 解常微分方程初值问题

  8. 解:例1.2同例1.1“差不多” ? (1) 计算量非常大; (2) 无法求得x*的解析形式,只能求近似值; (3) f(x2) 试试; (4) 无法找到原函数,考虑近似方法; (5) 没有解析解,数值解法求取近似解。

  9. 利用计算机!但是……. • 计算机的认识能力是有限的 • 计算机的计算能力也是有限的 • 可行且高效的算法+计算机!!!

  10. 2 数值算法的特点: • 计算机算法 • 对于给定的问题和设备(计算机),一个算法是用该设备可理解的语言表示的,对解决这个问题的一种方法的精确刻画。 • 计算机算法主要包含数值算法、非数值算法和软计算方法三类。

  11. 三类计算机算法 • 数值算法主要指与连续数学模型有关的算法,如数值线性代数、方程求解、数值逼近、数值微积分、微分方程数值解和最优化计算方法等;(本课程内容) • 非数值算法主要指与离散数学模型有关的算法,如排序、搜索、分类、图论算法等; • 软计算方法是近来发展的不确定性算法的总称,包括随机模拟、神经网络计算、模糊逻辑、遗传算法、模拟退火算法和DNA算法等。

  12. 数值算法的特点 • 有穷性 • 数值性 • 近似性

  13. 数值计算软件 • Fortran • C++ • Matlab

  14. §1.2 误差分析的概念 • 误差限和有效数字 • 截断误差与收敛性 • 舍入误差和数值稳定性 • 数据误差和病态问题

  15. 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 |。

  16. 准确位数和有效数字(定义1.2) • 设x =0.a1 a 2an10m (m为整数) (1.1) 其中a 1~an为0~9中一个数字且a 10。 • 如果 | x*-x|0.510k (1.2) 即x的误差不超过10-k位的半个单位 • 则称近似数x准确到第k位小数,并说x有m+k位有效数字。

  17. 例1.3 (误差限和有效数字) • 圆周率=3.1415926。 • x1=3.14; x 2=3.141; x 3=3.142; x 4=3.1414 • 解(1) x 1=0.15926102, |x1|  0.5102,有3位有效数字; (2) x2=0.5926103, |x2|0.5102,有3位有效数字; (3) x3= 0. 4073103, |x3|0.5103,有4位有效数字; (4) x4=0.1926103, |x1|0.5103, 有4位有效数字。

  18. 有效数字概念的通俗定义 • 设x*是某量的准确值,x是x*的近似值,如果在从第一个非零数字开始的第n位进行四舍五入(即考虑第n+1位是舍还是入?),x*和x的结果完全一致,则称x有n位有效数字。 • 与定义1.2的区别

  19. 2. 截断误差与收敛性 • 截断误差:一个无限的数学极限过程用有限次运算近似计算产生的误差。 • 例(无限) • 近似计算(有限) • 截断误差(余项公式) 在0与x之间

  20. 算法的收敛性:该算法总可以通过提高计算量(增加项数)使得截断误差任意小。即 余项0

  21. 3. 舍入误差和数值稳定性 • 舍入误差: 由于机器字长的限制而产生的误差 • 机器数(二进制0-1,离散) • 规格化浮点式: 阶码m,字长t ,尾数 (1=1) 2m0.12t,m=12s • 单精度32位(4字节): t=23,s=7, 符号2位, 表示范围2.910393.41038 (即2-128 2128),识别差2-23=1.19 107 • 双精度64位(8字节) : t=52,s=10, 符号2位,表示范围5.56103091.7910308 (即2-1024 21024),识别差 2-52=2.22 1016 • 上溢出和下溢出0 0

  22. 数值稳定性 • 误差传播问题: 设函数y=f(x1, x2, , xn)是一个算法或模型, 是变量xi的准确值,而 是变量xi的近似值。如果 , 且f的计算过程中没有新的误差产生,那么计算结果 具有怎样的精度?即 • 算法的数值稳定: 计算过程中舍入误差不会被严重放大

  23. 误差的传播 • 线性情形用严格估计 • 非线性情形用线性近似 • 绝对误差传播主要取决于条件数 • 相对传播主要取决于条件数

  24. 四则运算 • (ab)=ab, • r(ab)= [a/(ab)]ra+[b/(ab)]rb(近似数相减不稳定) • (ab) ba+ab • r(ab) ra+rb • (a/b)  (1/b)a(a/b2)b (b 0不稳定) • r(a/b) rarb

  25. 例1.5 (数值稳定性) • n=0, 1, …, 20 • 估计 • 算法一:递推公式 In=1nIn-1, n=1,,20 • I0=1-1/e  I1  I2  … I20误差很大 • n= nn-1, 20 =(20!) 0,不稳定 • 算法二:递推公式 In-1=(1In)/n, n= 20 ,,1 • I20估计式中点  I19  …  I1  I0误差很小 • n-1=  n /n, 0 =20 /(20!),稳定

  26. 4. 数据误差和病态问题 • 例1.6 (病态问题) • x1=x2=x3=1 x1=1.1788, x2=-0.0006, x3= 1.9658. • 病态问题: 很小的变化数据却导致解产生了很大的变化。 • 区别:收敛性和数值稳定性主要源于算法,病态性主要是模型本身的原因 。

  27. §1.3 数值算法设计的一些要点 • 设计算法基本原则 • 精度:收敛性、稳定性 • 速度:计算量、存储量,收敛速度 • 注意事项 • 病态问题 • 速度细节(加法、乘法,函数) • 稳定性细节(近似数相减,分母接近0, 大数吃小数) • 例1.8(相近的数相减)x=10-8, • 

  28. 例1.9 (大数吃小数) y=123456+ , 0.01xi0.04 • 存储细节(降维) • 死循环 • 实数相等比较 sin2x=1-cos2x|sin2x-(1-cos2x)| • 中间结果

  29. 作业 • P11, ex1, ex2, ex5, ex7

More Related