- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计算方法教程
数学学院 马军
理科楼 338 QQ 67017261 foyo2000@
课程准备
教材
《计算方法教程》
凌永祥,陈明逵 西安交通大学出版社
参考书 《计算方法》邓建中,西安交通大学出版社
课程准备 成绩
考试成绩 上机成绩 70% 30%
课程准备 数学基础
高等数学 线性代数
第1章 绪论
1.2 数值方法的分析
1.2.2 问题的性态 定义 数据相对小的变化引起解的相对大的变化的问题 称为病态问题,否则称为良态问题。 问题的性态就是问题的解对原始数据扰动的敏感性
第1章 绪论
1.2 数值方法的分析
1.2.2 问题的性态
设问题f ( x)的已知数据只有一个,用x表示
若有两个数据x和 x ,则可得到两个不同的结果f ( x), f ( x)
第1章 绪论
1.3 数值方法的分析
为解决实际问题,应正确提出数学问题,并针对具 体问题选择或改造适当的算法,清楚计算过程中可能发 生的问题. 了解算法的设计原理 熟悉算法的运算过程 掌握算法的长处和短处 分析算法的稳定性、时空特性 改进算法的性能
第1章 绪论
1.3 数值方法的分析 算法实例:求n个数的和
(4)在相同的指数条件下,两个数量相差较大的数字相 加(减)时,较小数的有效数字会被丧失
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算
浮点运算应注意
(1)避免产生大结果的运算,尤其是避免小数作为除数 参加运算; (2)避免“大”“小”数相加减; (3)避免相近数相减,防止大量有效数字损失; (4)尽可能简化运算步骤,减少运算次数。
算法SUM1(A,n,S) 将数组A中的n个数相加,并将和存放于S中 1. 0->s 2. For i=1,2,…,n 2.1 S+a[i]->S 3. 输出S
第1章 绪论
1.3 数值方法的分析 算法实例:求n个数的和
算法SUM2(A,n,S) 将数组A中的n个数中的正数与负分别相加,并将 和存放于S中 1. 0->s1;0->S2; 2. For i=1,2,…,n 2.1 if a[i] <0 then S1+a[i]->S1 else S2+a[i]->S2 3. S1+S2->S
运算顺序
浮点运算量
P [( A1 A2 ) A3 ] A4 P A1[ A2 ( A3 A4 )] P [ A1 ( A2 A3 )] A4
11500 flop 125000 flop
2200 flop
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算
在任何一个 进制中, 实数x可以表示为以具有t 位有效数字的形式 1 d d d d 1 x ( 1 2 t ) l 0 d , j 2,3, , t 2 t j
上溢会出错,下溢会变为0
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算 浮点数运算结果产生误差的情况
(2)结果的尾数多于t位数字
在F (2,3,-1, 2)中 (0.100 20 ) (0.111 20 ) 0.1101 21
需对结果进行舍入处理,产生的误差称为舍入误差
第1章 绪论
1.3 数值方法的分析 计算机在计算过程中,由于原始数据可能有误差,每次运算也 可能产生舍入误差,误差积累起来,很可能淹没真正解,使得结 果根本不可靠
可靠的算法,每一步的误差不应对计算结果产生 过大影响,也即具有稳定性.
良态问题+稳定的计算方法 可靠的计算结果
其中:
l 称为指数部分,L l U
d1 , d2 ,..., dt 称为尾数
将计算机中所能表示的全体数的集合称为计算机的浮点数系, 记为 F ( , t , L,U )
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算
在计算机的浮点数系中,四则运算是非封闭的
为使经过算术运算产生的结果仍然以同一浮点数系中的数 表示,必须用一个比较接近的浮点数代替.
因此会产生误差 ,称此误差为舍入误差
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算 浮点数运算结果产生误差的情况
(1)结果的指数l不在范围[L,U]中
上溢 在F (2,3, -1, 2)中 (0.100 22 ) (0.110 22 ) 0.110 23
下溢 在F (2,3,-1, 2)中 (0.100 20 ) (0.110 21 ) 0.110 22
计算方法的任务 • 用计算机计算出数学问题的数值解
• 寻求、设计求解各类问题的数值方法 • 对数值方法的数值性质进行研究
(1)分析方法的可靠性 (2)分析方法的效率
第1章 绪论
1.1 数值计算
问题的类型 • 离散问题
如求解方程组 Ax=B
• 连续问题的离散化
如数值积分、数值微分、常微分方程数值解、偏微分方程数值解
• 离散问题的连续化
数值拟合、数据逼近
第1章 绪论
1.2 数值方法的分析
对数值方法进行分析的目的是要评价方法的优缺点
方法是否可靠 方法的计算效率
实例1 两数的乘法 实例2 两数的乘法(改进)
第1章 绪论
1.2 数值方法的分析
计算机高级语言中各种的数据类型
类型
short int int long int char unsigned int unsigned long int -128..127 -32768..32767 -2147483648..2147483647 0..255 0..65535 0..4294967295
x y - fl ( x y ) 1 ( x y ) xy - fl ( xy ) 2 ( xy ) x x x - fl ( ) 3 ( ) y y y
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算 浮点数运算结果产生误差的情况
(3)在浮点数系中数据的尾数字长t是有限
第1章 绪论
1.1 数值计算
计算机处理的问题
数值型问题
解决工程计算问题
非数值型问题
解决一般的计算机应用
理论基础:高等数学,线性代 数,数学模型,计算方法等
理论基础:数据结构,离散 数学等
第1章 绪论
1.1 数值计算
计算机处理问题的步骤
建立数学模型
设计算法
计算问题的解
实验验证
第1章 绪论
1.1 数值计算
范围
格式
signed 8-bit signed 16-bit signed 32-bit unsigned 8-bit unsigned 16-bit unsigned 32-bit
第1章 绪论
ቤተ መጻሕፍቲ ባይዱ
1.2 数值方法的分析
定义 误差是指近似值与真正值之差
误差分类
模型误差 数据误差 在建立数学模型时,忽略次要因素而造成的 由于问题中的值通过观察得到的,从而产生误差
截断误差
计算误差
通过近似替代,简化为较易求解的问题
由于计算机中数的位数限制而造成的
第1章 绪论
1.2 数值方法的分析
定义 通常以计算机完成操作 a+b*c ,即一次浮点加法 一次浮点乘法,所需的时间作为一个时间单位,称为 浮点运算,记为flop.
例1.3 设A1 , A2 , A3 , A4分别为 20, 20 50,50 1,1100的矩阵,则按 10 结合律,有
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算 浮点数运算结果产生误差的情况
(2)结果的尾数多于t位数字
记fl ( x)为x的浮点近似 ,则其相对误差为 x - fl ( x) ( x) x
可以证明,在数系F( ,t,L,U)中,算术运算的 相对舍入误差满足
( x) 1t
1 2
第1章 绪论
1.2 数值方法的分析
1.2.1 计算机上数的运算 浮点数运算结果产生误差的情况
(2)结果的尾数多于t位数字
设 ( x), 则有fl ( x) (1 ) x,因此可得
fl ( x y ) (1- 1 )( x y ) fl ( xy ) (1- 2 )( xy ) x x fl ( ) (1- 3 )( ) y y
计算机基础
一种高级计算机语言 数据结构
第1章 绪论
计算方法的英文翻译 Calculation method Numerical method Computational Thoughts
第1章 绪论
什么是计算方法
《计算方法》中介绍基本的数学问题中的主要数值 方法,介绍方法的结构、意义、条件、对输入数据的要 求、生成数据的意义、应注意的事项等等 介绍对最常见的应用问题进行数值处理的可靠方法 在科学计算中的一些最基本的概念
第1章 绪论
1.3 数值方法的分析
定义 算法是由有限个无二义性的法则组成的一个计算过程, 这些法则明确规定了一串运算,以产生一个问题或者一 类问题的解 描述 算法可以使用框图、算法语言、伪代码、数学语言、 自然语言来进行描述
第1章 绪论
1.3 数值方法的分析
具有的特征 算法应具有以下的特征: 正确性 有穷性 适用范围广 运算工作量少 使用资源少 逻辑结构简单 便于实现 计算结果可靠
当x 0时, 设有f ( x) 0 , 若存在数m 0 ,满足以下关系式