计算方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算方法
1.26
计算方法
1.27
1.2.2 误差的来源
①模型误差 用计算机解决科学计算问题,首先要建立数学模 型,它是对被描述的实际问题进行抽象、简化而得到 的。在建立数学模型过程中,不可能将所有因素均考 虑在内,必然要进行必要的简化,忽略一些次要因素 ,简化了许多条件,这就带来了与实际问题的误差。 数值计算方法不涉及模型误差,通常都假设数学模型 是合理的。 ②观测误差(测量误差) 在数学模型中通常包含一些观测数据,如温度、 长度、电压等,这些数据的值一般是由观测或实验得 到的,由于观察手段的限制,得到的数据和实际大小 必然有误差,这种误差称为观测误差。
计算方法 1.29
误差的传播与积累
例:蝴蝶效应 —— 纽约的一只蝴蝶翅膀一拍,风和日丽的北京 就刮起台风来了?!
NY
BJ
以上是一个病态问题
计算方法
1.30
蝴蝶效应
• 先从美国麻省理工学院气象学家洛伦兹(Lorenz)的
发现谈起。为了预报天气,他用计算机求解仿真地球大 气的13个方程式。为了更细致地考察结果,他把一个 中间解取出,提高精度再送回。而当他喝了杯咖啡以后 回来再看时竟大吃一惊:本来很小的差异,结果却偏离 了十万八千里!计算机没有毛病,于是,洛伦兹( Lorenz)认定,他发现了新的现象:“对初始值的极 端不稳定性”,即:“混沌”,又称“蝴蝶效应”,亚 洲蝴蝶拍拍翅膀,将使美洲几个月后出现比狂风还厉害 的龙卷风!
计算方法 1.3
计算机与数学
当今社会,计算机是如此重要,已经挑不出一样比 计算机更重要的东西.自从上个世纪90年代以来,世界 级富翁大多数是与计算机有关,从一个侧面证明了计算 机的重要性. 如果说电是工业社会的基石,计算机就是信息 社会的基石.凡是有电的地方都有计算机在发挥作用. 由于计算机应用的广泛性,现在又增加一个专有 名词:IT即信息技术(Information Technology);计算 机实际上还是一门博大精深的科学,应该称为信息科学 Information Science;计算机还形成了一个信息产业 Information Industry;还形成了一个信息社会 Information society.
计算方法
1.24
2误差分析不可忽视
在研究算法的同时必须注意误差分析。否则,一个合理的算法 也可能得出错误的结果。比如,两个相近的数相减,会造成有效数 字的严重损失。两个相差悬殊的数作加减运算会造成“小数”吃“ 大数” 的后果等等。
计算方法
1.25
1.2.1 误差分析不容忽视
在研究算法的同时,必须注重误差分析,否则一个合理的算 法也可能得出错误的结果。
考察有根区间 a, b ,取中点 x0 a b / 2 求的根在 x0 的右侧,这时令 a1 a, b1 x0 时令 a1 x0 , b1 b 区间 a1 , b1 ,对于有根区间 a1 , b1
将它分为两半。然后
进行根的搜索,即检查 f x0 和 f a 是否同号。若确定同号,说明所
1.6
现代科学研究的三大支柱
理 论 研 究 科 学 实 验 科 学 计 算
计算数学
算法的研究和应用正是本课程的主题 !
计算方法
1.7
21世纪信息社会的两个主要特征: “计算机无处不在” “数学无处不在” 21世纪信息社会对科技人才的要求: --会“用数学”解决实际问题
--会用计算机进行科学计算
计算方法
1.8
建立数学模型
选取计算方法
编写上机程序
计算得出结果
科学计算解题过程
计算方法 1.9
研究算法的意义
许多科学问题的解决都离不开科学计算。本门课程将着重介 绍进行科学计算所必须掌握的一些最基本、最常用的算法, 并分析 其误差。 尽管计算机的运算速度高, 可以承担大运算量的工作,但这并 不意味着我们可随意选择 计算机上的算法,相反的,算法的优劣 决定着计算效率的高低,能否正确地制定算法也是科学计算成败 的关键。
计算方法
高尚
江苏科技大学计算机科学与工程学院
计算方法
1.1
关于《计算方法》课程
•前导课:数据结构+程序设计 •授课形式:作业10%+实验30%+笔试60% •教材:高尚.别小川.秦斌.计算方法.西安电子科
技大学出版社,2009
•参考教材:王能超.计算方法:算法设计及其
MATLAB实现.高等教育出版社,2006
计算方法
1.10
什么是算法
我们所说的“ 算法”必须是构造性的数值方法,即不但要论证 问 题的可解性,而且解的构造是通过数值演算过程来完成的。同传统 的近似计算方法不同,我们要研究的算法是为电子计算机提供的, 解题方案中的每个细节都必须准确的定义,并且要完整地描述整个 解题过程。我们所说的“算法”不仅仅是单纯的计算公式,而是指 解
计算方法
1.5
计算机与数学
计算机硬件本身也用到大量的数学知识,大规模并行处理器结构,巨型网 络结构都与图论密切相关.联合早报2004-01-12就有报道:成都电子科大教 授、博士生导师刘心松组合200余台普通服务器,要挑战IBM深蓝(deep blue)电脑的速度极限.
如果你将来是一个软件工作者,假如你能熟悉现有软件的数学模型或算 法,或者你能对现有软件的数学模型或算法进行一点改进的话,你将更容易在 软件行业中出人头地. 如果你将来是一个计算机理论工作者,假如你能结合一点数学理论,在庞 大的计算机领域作出一点创新或改进,你将会在计算机科研领域捷足先登.
计算方法
1.14
计算方法
1.15
开始
输入 b, c

d b c 0实根
x1 b x2 x1
x1 b d x2 2b x1
输出 x1 , x2
结束
计算方法
1.16
1.1.3 多项式求值的秦九韶方法
设要求对给定 x 的求下列多项式的值
计算方法
1.2
•科学技术的发展提出了大量复杂的数值计算问题,
这些问题的解决不是人工手算所能胜任的,必须依 靠电子计算机。用电子计算机进行这种科学计算的 工作,称为科学计算(电算)。科学计算在工农业生 产的各个部门发挥日益重要的作用。

数值分析,也称计算方法、计算数学,是以数学 问题为研究对象的一门学科,是数学的一个分支。 只是它不像基础数学那样只研究数学本身的理论, 还要着重研究求解的数值计算方法及与此相关的理 论,包括方法的收敛性、稳定性及误差分析,更要 根据计算机特点研究计算时间最节省的计算方法。
计算方法
1.4
事实上,计算机又是非常简单的具有输入 输出和存储能力,能够执行既定指令的装置.
在简单的计算机和广泛的计算机应用之间 起桥梁作用的就是数学模型或数据结构Data Structure 计算机领域内,软件这一部分最重要也发 展最快. Bill Gates是世界首富即是一个证明. 国内的计算机前辈大多来自数学界.两院院士王 选就是数学出身,现仍在北大数学系. 许多数学 界的人这样说:数学界二流的人才到计算机界作 出了一流的成绩.
故有如下求该多项式值的秦九韶算法:
v0 an k 1, 2,,n v xv a k 1 n k k
秦九韶算法的特点在于,它通过一次式的反复计算,逐步得出
高次多项式的值。具体的说,他将一个 n 次多项式的求值问题归结 为重复计算 n 个 一次式 vk
xvk 1 ank
题方案的准确而完整的描述。
计算公式是算法的核心概念。计算机上使用的算法,其计算公 式常采用递推化的形式。递推化的基本思想是将一个复杂的计算过 程归结为简单过程的多次重复。 这种重复在算法上表现为循环,描 述是容易的。
计算方法 1.11
1021
1.1.1 研究算法的意义
计算机运算速度高,可以承担大运算量工作,但正确制定算法是科学 计算的关键。 比如,基于行列式的克莱姆法则原则上可用来求解线性方程组。如求 解一个20阶线性方程组,要算个21阶行列式的值,总共需要 20!19 21 次乘法运算,大约次 1021 乘法。如用每秒可完成亿次乘法运算的计算机 来计算,需要的时间为:
一门科学只有用到数学,才称得上真正意义上的科学.数学被称为是科学 的皇后(queen). 数论被称为是核心数学(core mathematics). 计算机密码 算法的研究本质上就是数论的研究(引自柯召<<数论讲义>>)。作为计算机 工作者,数学在大学、硕士和博士阶段的学习中都是至关重要的。
计算方法
来实现。
计算方法
1.19
秦九韶方法是由宋代数学家秦九韶提出的,国外称此算法为 霍纳(Horner)算法,其实它比秦九韶方法晚多年。
计算方法
1.20
方程求根的二分法
a, b 设函数 f x 在
f a f b 0 上连续,且 f x 0 ,假定
* 在 a, b 上有唯一的实根x 。
2 x2 2bx2 c 0 (3) 2 x3 2bx3 c 0 (4)
等式(3) 等式(2), 得 : ( x2 x1 )(x2 x1 2b) 0 x2 x1 0
计算方法
1.13
证明
x 2 x1 2b 0 同理可得 : x3 x1 2b 0 x3 x 2 2b 0 x1 x 2 x3与假设矛盾 . 证明完毕 证明过程是严谨的 . 证明过程是逻辑推理过 程 证明过程要求越简单越 好 而算法要求运行越快越 好
x0 , x1 , x2 ,
计算方法
逐步逼近所求的根x*
1.21

计算方法
1.22
计算方法
1.23
计算2 256
2 256 2128 2128 2 2 2
64 64 128
2 32 2 32 2 64 2128 2 2 2 2 2 4 2 8 216 2 32 2 64 2128 共需要8(2 8 256)次乘法.
1021 317098 8 10 365 24 60 60 (年)
需要30几万年,这当然没有实际意义,所以要研究可行的算法。本 书第七章就提出了解线性方程组的许多实用算法。这个简单的例子告诉我 们,能否正确制定算法是科学计算成败的关键。
计算方法
1.12
1.1.2 算法
证明二次方程 x 2 2bx c 0 (1) 至多有两个不同的解 反证法 : 假设方程(1)有3个互异的解x1 , x2和x3 , 则有 x12 2bx1 c 0 (2)
p x a0 a1 x a2 x 2 an x n
计算方法
1.17
计算方法
1.18
1.1.3 多项式求值的秦九韶方法
设要求对给定 x 的求下列多项式的值
p x a0 a1 x a2 x 2 an x n
由于该式有如下嵌套形式:
p( x) (((an x an1 ) x an2 ) a1 ) x a0
计算方法 1.28
1.2.2 误差的来源
③截断误差(方法误差) 许多数学运算(诸如微分、积分及无穷级数求和等) 是通过极限来定义的,然而计算机只能完成有限次的算 术运算和逻辑运算。通常把无限的计算过程用有限的计 算过程代替,由此产生的误差称作截断误差。因截断误 差是方法固有的,又称为方法误差。 ④舍入误差 计算过程中所用的数据可能位数很多,甚至无穷小 数,如pi 等,由于计算是按有限位进行的,超过位数 的数字要进行舍入。这种由于在计算过程中对数进行舍 入而引起的误差,称为舍入误差。每一步的舍入误差是 微不足道的,但经过计算过程的传播积累,舍入误差甚 至可能会“淹没”真解。
x0 ,否则必在
左侧,这
,于是我们就得到了一个长度压缩了一半的有根 施行同样手续可得到新的有根区
间 a2 , b2 ,反复如此我们可得到一系列的有根区间:
a, b a1 , b1 a2 , b2
令 xk ak bk / 2 ,则二分过程中可获得一个近似根的序列
相关文档
最新文档