数值计算方法的意义内容

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
n阶方程组,要计算n + 1个n阶行列式的值,
总共需要做n! (n - 1) (n + 1) 次乘法运算。
n=20 需要运 算多少次?
➢ 存贮量少
n=100?
➢ 逻辑结构简单
§3 数值计算中的误差
一、 误差的背景介绍
1. 来源与分类
➢ 从实际问题中抽象出数学模型 —— 模型误差
例1:质量为m的物体,在重力作用下,自由下落,
就可以知道x范围为
x* x x*
即x落在 [x* , x内* 。 ]在应用上,常常采用下列
写法来刻划x*的精度。
x x*
2.相对误差和相对误差限 定义2:设x是准确值,x*是近似值,称
e x x* xx
(1.6)
为近似值x的相对误差,相应地,若正数 ,r
满足
x x* x
r
www.sy smk120.com www.hzdiy an.com
现算法代的研科究和学应用研正是究本课的程的三主题大!支柱
理科 论学 研实 究验
科 计算数学 学 计 算
21世纪信息社会的两个主要特征: “计算机无处不在” “数学无处不在”
21世纪信息社会对科技人才的要 求: --会“用数学”解决实际问题 --会用计算机进行科学计算
数值计算的主要内容
数值代数:方程求根、线性方程组求解、 特征值的求解;
数值逼近:插值、分和积分、 最小二乘法;
微分方程数值解: 常微分方程数值解; 偏微分方程数值解: 差分法 有限元法 有限体积法
教材 数值计算方法 徐涛 编著 (吉林科学技术出版社)
参考书目
➢ 应用数 使用MATLAB和C语言
描述算法可以有不同的方式。例如,可以用日常语言 和数学语言加以用框图直观地显示算法的全貌。
例1:一群小兔一群鸡,两群合到一群里,要数腿共48, 要数脑袋整17,多少小兔多少鸡?
算术方法 : 若没有小兔,则鸡应是17只 总腿数 :2*17=34 一只小兔增加 2条腿,
应该有
48 17 2 7 只小兔 2
则称 为rx的相对误差限。
3.有效数字
定义3:如果
x x* 1 10n 2
(1.7)
则说x*近似表示x准确到小数后第n位,并从这第n位起
直到最左边的非零数字之间的一切数字都称为有效数字,
并把有效数字的位数称为有效位数。
由上述定义 3.1416 1 104
2 3.14 0.0015926
例7:用单精度计算 x2 (109 1)x 109 0 的根。 精确解为 x1 109 , x2 1
算法1:利用求根公式 x b b2 4ac
2a
在计则:1 = 0.0000000001 1010,取单精度时就成为: 109+1=0.100000001010+0.00000000 1010=0.10000000 1010
10只小鸡
代数方法 :
设有x只小鸡,y只小兔 ,
x y 17
(i)
(I) 2x 4 y 48 (ii)
(-2)*(i) +(ii) , 得 高斯消
去法
x y 17 (II) (4 2) y 48 -17 2
y 48 17 2 7 只小兔 42
例:求解二元一次联立方程组
aa1211xx11
定义1:设x是准确值,x*为x的一个近似值,称
e(x) x x *
(1.5)
是近似值x的绝对误差,简称为误差。
例 2:若用以厘米为最小刻度的尺去量桌子的长, 大约为1.45米,求1.45米的绝对误差。
1.45米的 绝对误差=?
不知道!
但实际问题往往可以估计出 e(不x)超过某个正数,即, x x,* 则 称 为绝对误差限,有了绝对误差限
通过求解过程,可以总结出算法步骤如下:
S1 输入 a11, a12, a21, a22,b1,b2 S2 计算 D a11a22 a21a12 S3 如果 D 0
则输出原方程无解或有无穷多组解的信息;
否则 D 0
x1
a22b1
a12b2 D
S4 输出计算的结果 x1, x2
x2
a11b2
a21b1 D
类似地
ln x ln y ln x y
sin( x ) sin x 2 cos x sin
2 2
2. 绝对值太小的数不宜作除数
例6:
2.7182 2718.2 0.001
如分母变为0.0011,也即分母只有0.0001的变化时
2.7182 2471.1 0.0011
3. 避免大数吃小数
开始
输入
a11, a12 , a21, a22 ,b1,b2
D=a11a22-a12a21
Yes D=0
No
x1 (b1a22 b2a12 ) / D x2 (b2a11 b1a21) / D
输出无解信息
输出 x1, x2 结束
二、算法的优劣
➢ 计算量小 例:用行列式解法求解线性方程组:
1
In n 5In1,
(n 1, 2, , 8)
(1.8)
按 (1.8) 式就可以逐步算出
I1 1 5I0 0.09
I2
1 2
5I1
0.05
I3
1 3
5I2
0.083
I4
Hale Waihona Puke Baidu
1 4
5I3
0.165
I5
1 5
5I4
1.025
I6
1 6
5I5
4.952
注意此公式精确成 立 What happened ?!
数值计算方法
内容和方法
§1 数值计算方法的意义、内容与方法
20 世纪最伟大的科学技术发明---计算机 计算机是对人脑的模拟,它强化了人的思维智能; 计算机的发展和应用,已不仅仅是一种科学技术 现象,而且成了一种政治、军事、经济和社会现象;
软件的核心就是算法。 算法犹如乐谱, 软件犹如CD盘片, 而硬件如同CD唱机。
x = 8.12345
1 0.3333 3
四舍五入后……
1 3.1416 0.0000074
2
1 3
0.333
0.000033
3 x 8.1235 0.000044
在数值计算方法中,主要研究截断误差和舍入误差 (包括初始数据的误差)对计算结果的影响!
二、绝对误差、相对误差和有效数字 1.绝对误差与绝对误差限
建立数学模型
选取计算方法
编写上机程序
计算得出结果
科学计算解题过程
一、计算数学的产生和早期发展
计算数学是数学的一个古老的分支,虽然数学不仅仅 是计算,但推动数学产生和发展的最直接原因还是 计算问题。
二、二十世纪计算数学的发展
数值代数 最优化计算 数值逼近 计算几何
概率统计计算
蒙特卡罗方法 微分方程的数值解法 微分方程的反演问题
2.要避免两个相似数相减 在数值相近的数作减法时有效数字会损失。
例5: 求
y x 1 x
(1.10)
的值。当x = 1000,y 的准确值为0.01580
1、直接相减
y 1001 1000 31.64 31.62 0.02
2、将(1.10)改写为
y x 1 x
1
x 1 x
则 y = 0.01581
其下落距系是:
m d 2s mg dt 2
(1.1)
其中 g 为重力加速度。
➢ 通过测量得到模型中参数的值 —— 观测误差
➢ 求近似解 —— 方法误差 (截断误差)
➢机器字长有限 —— 舍入误差
用计算机、计算器和笔算,都只能用有限位小数 来代替无穷小数的小数来代替位数较多 的有限小数,如:
= 3.1415926…
Robert J.Schilling & San (机械工业出版社)
➢ Numerical Recipes in C++ The Art 著 (电子工业出版社)
➢ 现代数值分析 李庆扬、易大义、王能超 编著
(高等教育出版社)
§2 算 法
一、算法的概念
定义:由基本运算及运算顺序的规定所构成的完整的 解题步骤,称为算法。
3.14159 1 105
2
有效数位为3位
3.1416 0.0000074
3.1415 0.0000926
有效数位为5位 有效数位为4位
误差的传播与积累
例3:蝴蝶效应 —— 纽约的一只蝴蝶翅膀一拍,风和日丽的北 京就刮起台风来了?!
NY
BJ
以上是一个病态问题
§4 数值计算中应该注意的一些原则
x1 b
b2 4ac 109 , 2a
x2 b
b2 4ac 0 2a
算法2:先解出 再利用
x1
b
sign(b) 2a
b2 4ac 109
c
c 109
x1 x2 a x2 a x1 109 1
注:求和时从小到大相加,可使和的误差减小。
例8:按从小到大、以及从大到小的顺序分别计算 1 + 2 + 3 + … + 40 + 109
可求得I9 0.017,按公式(1.9)可逐次求得
(1.9)
I8 0.019 I6 0.024 I4 0.034 I2 0.058 I0 0.182
I7 0.021 I8 0.028 I3 0.043 I1 0.088
稳定的算法 !
在我们今后的讨论中,误差将不可回避, 算法的稳定性会是一个非常重要的话题。
1.要使用数值稳定的算法
例4:求 In
1 xn dx 0 x5
(n = 0, 1, 2, …, 8)的值。
解:由于
In 5In1
1 xn 5xn1dn 0 x5
1 xn1dx 1
0
n
初值
I 0
1 1 dx ln 6 ln 5 ln(1.2) 0 x5
递推公式
I
0
ln( 1.2)
不稳定的算法 !
这就是误差传播所引起的危害 ! 由递推公式(1.8)计算结果的影响,随着n的增大 愈来愈严重。这就造成I4的计算结果严重失真。
改变公式:
将公式
In
5I n1
1 n
11 I k1 5K 5 I K
不妨设I9 I10,于是由
变为
(K n, n 1, ,1)
I9
1 50
1 5
I10
a12 x2 a22 x2
b1 b2
用行列式解法:首先判别
D a11a22 a21a12
(1)如果 D 0,则令计算机计算
x1 b1a22 b2a12 D , x2 b2a11 b1a21 D
输出计算的结果x1,x2。
(2)如果D= 0,则或是无解,或有无穷多组解。
令 D a11a22 a21a12
4. 先化简再计算,减少步骤,避免误差积累。
一般来说,计算机处理下列运算的速度为
, , exp
5.算法的递推性
计算机上使用的算法常采用递推化的形式,递推 化的基计算量。
多项式求值:给定的x 求下列n 次多项多的值。
P(x) a0 a1x a2x2 an xn
解:1. 用一般算法,即直接求和法; 2. 逐项求和法; 3. 秦九韶方法;
相关文档
最新文档