数值分析(计算方法)第一章

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

注:求和时从小到大相加,可使和的误差减小。
例8:按从小到大、以及从大到小的顺序分别计算
1 + 2 + 3 + … + 40 + 109
4. 先化简再计算,减少步骤,避免误差积累。
一般来说,计算机处理下列运算的速度为
, , exp
5.算法的递推性
计算机上使用的算法常采用递推化的形式,递推 化的基本思想是把一个复杂的计算过程归结为简单过程 的多次重复。这种重复在程序上表现为循环。递推化的 优点是简化结构和节省计算量。 多项式求值:给定的x 求下列n 次多项多的值。
(1.9)
不妨设I9 I10,于是由
1 1 I9 I 10 50 5
可求得I9 0.017,按公式(1.9)可逐次求得
I8 0.019
I6 0.024
I7 0.021
I8 0.028
I4 0.034
I2 0.058
I3 0.043
I1 0.088
稳定的算法 !
例 2:若用以厘米为最小刻度的尺去量桌子的长, 大约为1.45米,求1.45米的绝对误差。
1.45米的 绝对误差=?
不知道!
但实际问题往往可以估计出 e(x) 不超过某个正数,即,
x x * ,则称 为绝对误差限,有了绝对误差限
就可以知道x范围为
x x x
* *
P( x) a0 a1 x a2 x 2 an x n
解:1. 用一般算法,即直接求和法; 2. 逐项求和法; 3. 秦九韶方法;
例9:用秦和韶方法求多项式
P( x) 1 x 0.5x 2 0.16667 x 3 0.04167 x 4 0.00833x 5
I0 0.182
在我们今后的讨论中,误差将不可回避, 算法的稳定性会是一个非常重要的话题。
2.要避免两个相似数相减 在数值计算中,两个相近的数作减法时有效数字会损失。
例5: 求
y x 1 x
(1.10)
的值。当x = 1000,y 的准确值为0.01580 1、直接相减
y 1001 1000 31 .64 31 .62 0.02

D a11a22 a21a12
通过求解过程,可以总结出算法步骤如下:
S1 输入
a11, a12 , a21, a22 , b1, b2 S2 计算 D a11a22 a21a12
S3 如果
D0
则输出原方程无解或有无穷多组解的信息;
否则
D0
a22b1 a12b2 a11b2 a21b1 x1 x2 D D
S4 输出计算的结果
x1 , x2
开始 输入
a11 , a12 , a21 , a22 , b1 , b2
D=a11a22-a12a21 Yes No
D=0
x1 (b1 a 22 b2 a12 ) / D x 2 (b2 a11 b1 a 21 ) / D
输出 x1, x2 结 束
数 值 分析
中国计量学院理学院
§1 数值计算方法的意义、内容与方法
20 世纪最伟大的科学技术发明---计算机
计算机是对人脑的模拟,它强化了人的思维智能;
计算机的发展和应用,已不仅仅是一种科学技术
现象,而且成了一种政治、军事、经济和社会现象;
没有软件的支持,超级计算机只是一堆废铁而已;
软件的核心就是算法。
例1:一群小兔一群鸡,两群合到一群里,要数腿共48,
要数脑袋整17,多少小兔多少鸡?
算术方法 :
若没有小兔,则鸡应是17只 总腿数 :2*17=34 一只小兔增加 2条腿, 应该有
代数方法 :
设有x只小鸡,y只小兔 ,
x y 17 ( I) 2 x 4 y 48
(-2)*(i) +(ii) , 得
输出无解信息
二、算法的优劣
计算量小 例:用行列式解法求解线性方程组: n阶方程组,要计算n + 1个n阶行列式的值, 总共需要做n! (n - 1) (n + 1) 次乘法运算。
n=20 需要运 算多少次? n=100?
存贮量少 逻辑结构简单
§3 数值计算中的误差
一、 误差的背景介绍
§4 数值计算中应该注意的一些原则
1.要使用数值稳定的算法 例4:求 I n 解:由于

1
0
xn dx (n = 0, 1, 2, …, 8)的值。 x5
1 x n 5x n 1 1 n 1 dn x dx 0 x5 n
I n 5I n 1
初值
1
0
I0
3.14159 10 5
1 2
有效数位为3位 有效数位为5位 有效数位为4位
3.1416 0.0000074
3.1415 0.0000926
误差的传播与积累
例3:蝴蝶效应 —— 纽约的一只蝴蝶翅膀一拍,风和日丽的北 京就刮起台风来了?!
NY
BJ
以上是一个病态问题
算法犹如乐谱, 软件犹如CD盘片, 而硬件如同CD唱机。
现代科学研究的三大支柱
理 论 研 究 科 学 实 验 科 学 计 算
计算数学
算法的研究和应用正是本课程的主题 !
21世纪信息社会的两个主要特征: “计算机无处不在” “数学无处不在” 21世纪信息社会对科技人才的要求: --会“用数学”解决实际问题
如分母变为0.0011,也即分母只有0.0001的变化时
2.7182 2471.1 0.0011
3. 避免大数吃小数
例7:用单精度计算 x 2 (109 1) x 109 0 的根。 精确解为
x1 109 , x2 1
b b 2 4ac x 2a
算法1:利用求根公式
b b 2 4ac x1 10 9 , 2a b b 2 4ac x2 0 2a
b sign(b) b 2 4ac 109 算法2:先解出 x1 2a c c 109 再利用 x1 x2 x2 9 1 a a x1 10
由递推公式(1.8)可看出,In-1的误差扩大了5倍后传给In, 因而初值I0的误差对以后各步计算结果的影响,随着n的增大 愈来愈严重。这就造成I4的计算结果严重失真。 改变公式:
将公式
1 I n 5I n 1 n
变为
I k 1
1 1 IK 5K 5
( K n, n 1, ,1)
在计算机内,109存为0.11010,1存为0.1101。做加法时, 两加数的指数先向大指数对齐,再将浮点部分相加。即1 的指数部分须变为1010,则:1 = 0.0000000001 1010,取 单精度时就成为: 109+1=0.100000001010+0.00000000 1010=0.10000000 1010
2、将(1.10)改写为
y x 1 x 1 x 1 x

y = 0.01581
类似地
sin( x ) sin x 2 cos x sin 2 2
x ln x ln y ln y
2. 绝对值太小的数不宜作除数
例6:
2.7182 2718.2 0.001
即x落在 [ x * , x * ] 内。在应用上,常常采用下列 写法来刻划x*的精度。
x x*
2.相对误差和相对误差限 定义2:设x是准确值,x*是近似值,称
e x x* x x
(1.6)
为近似值x的相对误差,相应地,若正数 r,
满足
x x* r x
(i) (ii)
高斯消 去法
48 17 2 7 只小兔 2
10只小鸡
x y 17 (II) (4 2) y 48 - 17 2
48 17 2 y 7 只小兔 42
例:求解二元一次联立方程组
a11 x1 a12 x 2 b1 a 21 x1 a 22 x 2 b2
应用数值方法 使用MATLAB和C语言
Robert J.Schilling & Sandra L.Harris (机械工业出版社)
Numerical Recipes in C++ The Art of Scientific Computing Second Edition
William H.Press 等著 (电子工业出版社)
则称 r为x的相对误差限。
3.有效数字
定义3:如果
1 x x 10 n 2
*
(1.7)
则说x*近似表示x准确到小数后第n位,并从这第n位起 直到最左边的非零数字之间的一切数字都称为有效数字,
并把有效数字的位数称为有效位数。
由上述定义
1 3.1416 10 4 2 3.14 0.0015926
--会用计算机进行科学计算
建立数学模型
选取计算方法
编写上机程序
计算得出结果
科学计算解题过程
一、计算数学的产生和早期发展
计算数学是数学的一个古老的分支,虽然数学不仅仅
是计算,但推动数学产生和发展的最直接原因还是
计算问题。
二、二十世纪计算数学的发展
数值代数 最优化计算 数值逼近 计算几何 概率统计计算 蒙特卡罗方法 微分方程的数值解法 微分方程的反演问题
3 x 8.1235 0.000044
在数值计算方法中,主要研究截断误差和舍入误差 (包括初始数据的误差)对计算结果的影响!
二、绝对误差、相对误差和有效数字
1.绝对误差与绝对误差限 定义1:设x是准确值,x*为x的一个近似值,称
e( x) x x *
(1.5)
是近似值x的绝对误差,简称为误差。
1
0
1 dx ln 6 ln 5 ln( 1.2) x5
递推公式
I 0 ln( 1.2) 1 I n 5I n 1 , n
(1.8)
( n 1, 2, , 8)
按 (1.8) 式就可以逐步算出
I1 1 5I 0 0.09
1 I 2 5I 1 0.05 2
1 5I 2 0.083 3 1 I 4 5I 3 0.165 4 1 I 5 5I 4 1.02ຫໍສະໝຸດ Baidu 5 1 I 6 5I 5 4.952 6 I3
注意此公式精确成 立 What happened ?!
不稳定的算法 !
这就是误差传播所引起的危害 !
用行列式解法:首先判别
D a11a22 a21a12
是否为零,存在两种可能:
(1)如果
D 0 ,则令计算机计算 x1 b1a22 b2 a12 D , x2 b2 a11 b1a21 D
输出计算的结果x1,x2。 (2)如果D= 0,则或是无解,或有无穷多组解。
机器字长有限 —— 舍入误差
用计算机、计算器和笔算,都只能用有限位小数
来代替无穷小数或用位数较少的小数来代替位数较多 的有限小数,如:
= 3.1415926…
x = 8.12345
1 0.3333 3
四舍五入后……
1 3.1416 0.0000074
1 2 0.333 0.000033 3
数值计算的主要内容
数值代数:方程求根、线性方程组求解、 特征值和特征向量的计算、 非线性方程组的求解; 数值逼近:插值、数值微分和积分、 最小二乘法; 微分方程数值解: 常微分方程数值解; 偏微分方程数值解: 差分法 有限元法 有限体积法
教材 数值计算方法 徐涛 参考书目
编著 (吉林科学技术出版社)
现代数值分析
李庆扬、易大义、王能超 编著
(高等教育出版社)
§2 算 法
一、算法的概念 定义:由基本运算及运算顺序的规定所构成的完整的 解题步骤,称为算法。 描述算法可以有不同的方式。例如,可以用日常语言 和数学语言加以叙述,也可以借助形式语言(算法语言) 给出精确的说明,也可以用框图直观地显示算法的全貌。
1. 来源与分类
从实际问题中抽象出数学模型 —— 模型误差 例1:质量为m的物体,在重力作用下,自由下落, 其下落距离s 与时间t 的关系是:
d 2s m 2 mg dt
其中 g 为重力加速度。
(1.1)
通过测量得到模型中参数的值 —— 观测误差
求近似解 —— 方法误差 (截断误差)
相关文档
最新文档