方法第一章计算方法概论(2009-2010学年)

合集下载

计算方法第一章引论

计算方法第一章引论

§2 数值问题与数值算法
求解数值问题的计算机上可 以执行的系列计算公式。
2-2 数值方法与数值算法
2. 数值算法
指有步骤地完成解数值问题的过程,数值方法是它 的前提和基础,它是数值方法的具体化。具备以下四
个特性:
(1) 目的性:给出输入数据和输出数据的明确的规定
与要求。
(2) 确定性:必须精确地给出每一步的操作定义,不 允许有歧义。
3. 算法的分类
(1) 按面向求解问题的不同分为:数值算法和非数值 算法
(2) 按面向计算机的不同分为:串行算法和并行算法
(3) 按算法的内部特征分为:确定型算法和非确定型 本课程只讨论计算机上串行确定型的数值 算法 算法 即通过按规定顺序执行一个完整且有限的 运算序列后,将输入的数据(向量)变成输 出的数据(向量)。
每秒1亿次的计算机计算也要30万年; 而若改用高斯消去法作为算法进行求解,只需乘除 运算约2670次。
§2 数值问题与数值算法
N=0, S=0 若N<10000 N=N+1, S = S +N 输出N和S
输入 循环条件 循环体 输出
省略
§2 数值问题与数值算法
2-2 数值方法与数值算法
说明:对于大型数值问题,使用不同的算法其计算复
杂性将大不相同。
如对20阶线性方程组,用克莱姆法则作为算法进行
求解,其乘、除法运算次数共需约 9.7×1020 次,若用
②《计算方法》:武汉大学,高等教育出版社
③《数值计算方法》:李有法,高等教育出版社
④《数值分析》:李庆扬,王能超,易大义。
⑤《计算方法引论》:徐萃薇。
④《数值分析引论》:易大义,陈道琦。
§2 数值问题与数值算法

第一章计算方法

第一章计算方法


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
(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
sin( x ) sin x 2 cos x sin 2 2
2. 避免大数吃小数
例:用单精度计算 精确解为 的根。 x 2 (109 1) x 109 0
b b 2 4ac x 2a
x1 109 , x2 1
算法1:利用求根公式
例: 求
y x 1 x
的值。当x = 1000,y 的准确值为0.01580
(1)、直接相减
y 1001 1000 31 .64 31 .62 0.02
(2)、将该式改写为
y x 1 x 1 x 1 x

y = 0.01581
x 类似地 ln x ln y ln y
d 2s m 2 mg dt
其中 g 为重力加速度。
(1.1)
通过测量得到模型中参数的值 —— 观测误差

计算方法第一章 讲义

计算方法第一章  讲义

L m U 。由于机器数的字长与阶码有限,因此,计算机中的数是有限的。事实上,计算
机中共有 2
t
U L 1 1 个机器数。把计算机中的全体机器数组成的集合记为 F 或
L 1
F(2,t,L,U),称为计算机机器系。显然,机器系数 F 是一个有限的、离散的、分布不均匀的集 合。不难验证,F 中任意非零数 x 满足 2
计算方法讲义 .1.
谢 进
数理系信息与计算科学教研室 2016 年 9 月
1
第1章
§1.1 计算方法及其相关概念
1.科学计算
绪论
随着人们的生产活动和计算需要, 数学中逐渐发展了一种新的分支一一计算数学。 随着 计算工具的应用,特别是计算机的出现和发展,计算数学(Computational Mathematics)逐 渐发展成为现代意义下的计算科学,或称科学计算(Scientific Computing),成为了传统的理 论研究和科学实验之后的第三大科学科学方法。 现在, 科学计算在科学研究与工程实际中作 用越来越重要, 甚至用科学计算来取代部分实验和理论研究。 如通过科学让计算机模拟核爆 炸。 这种由科学实验向科学计算的转变, 也促使一些边缘学科的相继出现, 例如, 计算物理、 计算力学、计算化学、计算生物学以及计算经济学等等都应运而生。有些理论证明往往也是 通过科学计算去解决,例如,四色问题,吴文俊院士开创的机器证明等。也就是说,科学计 算可以全部或部分地代替理论证明。
m=-2
0.125 0.15625 0.171875 0.1875 0.203125 0.21875 0.234375
m=-1
0.25 0.3125 0.34375 0.375 0.40625 0.4375 0.46875

西安交通大学《计算方法》课件-第一章

西安交通大学《计算方法》课件-第一章

浮点运算原则
(1)避免产生大结果的运算,尤其是避免小数作为除数 参加运算 (2)避免“大”“小”数相加减 (3)避免相近数相减,防止大量有效数字损失 (4)尽可能简化运算步骤,减少运算次数
第1章 绪论
定义 数据相对小的变化引起解的相对大的变化的问题 称为病态问题,否则称为良态问题。
问题的性态就是指问题的解对原始数据扰动的敏感性
第1章 绪论
浮点数系运算误差
(2)计算结果的尾数多于t位数字
在F (2,3,1,2)中
(0.100 20 ) (0.111 20 ) 0.1101 21 (0.100 22 ) (0.111 21 ) 0.1000111 22
需要对结果进行舍入处理,产生的差称为舍入误差
记为F ( , t , L,U )
l
将计算机中所能表示的全体数的集合称为计算机的浮点数系
浮点数系中的数的个数是有限的,其个数为
2( 1) t 1 (U L 1) 1
第1章 绪论
浮点数系的误差
在计算机的浮点数系中,四则运算是非封闭的 为使经过算术运算产生的结果仍然要用浮点数系中的数 表示,因此必须用一个比较接近的数来代替 因此产生误差 称此误差称为舍入误差
第1章 绪论
第1章 绪论
什么是计算方法
《计算方法》介绍基本的数学问题中的主要数值方法, 介绍方法的思想、结构、条件、对输入数据的要求、生成 数据的意义、应注意的事项等 介绍数值计算中的一些最基本的概念 设计常见应用问题的数值处理方法 对数值方法的数值特性进行研究 分析方法的可靠性 分析方法的效率
第1章 绪论
问题的性态
已知问题f ( x)的输入数据只有一个 ,用x来表示 若有两个输入数据x和~ x , 则可以得到两个不同的结果f ( x)和f ( ~ x)

2009~2010学年第一学期信息学院电子、通信工程专业2006级本科生课程表(校本部)

2009~2010学年第一学期信息学院电子、通信工程专业2006级本科生课程表(校本部)

2009~2010学年第一学期信息学院电子、通信工程专业2006级
本科生课程表(校本部)
学生人数:51人内招39人外招12人
2、06级毕业实习一周(1学分),具体时间、地点由系通知,指导教师:杨恢东等现代电子教研室教师
2009~2010学年第一学期信息学院电子、通信工程专业2007级
本科生课程表(校本部)
学生人数:74人内招63人外招11人
注:课室编号第一个数字“A”是新教学大楼,“B”是成教楼,“C”是科学馆,“南”是南海楼。

2009~2010学年第一学期信息学院电子技术与科学专业2007级
本科生课程表(校本部)
学生人数:20人内招20人
2009~2010学年第一学期信息学院电子、通信工程专业2008级
本科生课程表(校本部)
2009~2010学年第一学期信息学院电子技术与科学专业2008级
本科生课程表(校本部)
注:2009级本科生从第二周周三(9月16日)开始上课。

2009~2010学年第一学期信息学院电子、通信、电科专业2009级本科生课程表 (珠海校区) 2009年7月20日第二版
预计学生人数:108人内招93人外招15人。

计算方法第一章电子教案(32学时)

计算方法第一章电子教案(32学时)

教材聂玉峰,王振海计算方法,西北工业大学版社,2009作业计算方法作业集(A、B)参考书¾封建湖,车刚明计算方法典型题分析解集(第三版)西北工业大学出版社,2001¾封建湖,聂玉峰,王振海数值分析导教导学导考(第二版)西北工业大学出版社,2006¾车刚明,聂玉峰,封建湖,欧阳洁数值分析典型题解析及自测试题(第二版)西北工业大学出版社,2003西北工业大学理学院欧阳洁2第一章绪论§1 引言§2 误差的度量与传播§3 选用算法时应遵循的原则西北工业大学理学院欧阳洁3§1 引言科学与工程领域中运用计算机求解问题的一般过程:1 实际问题的提出2 建立数学模型3 设计可靠、高效的数值方法4 程序设计5 上机实践计算结果6 数据处理及结果分析西北工业大学理学院欧阳洁4学习算法的意义科学计算(数值模拟)已经被公认为与理论分析、实验分析并列的科学研究三大基本手段之一。

计算方法课程的研究对象具有广泛的适用性,著名流行软件如Maple、Matlab、Mathematica 等已将其绝大多数内容设计成函数,简单调用之后便可以得到运行结果。

但由于实际问题的具体特征、复杂性, 以及算法自身的适用范围决定了应用中必须选择、设计适合于自己特定问题的算法,因而掌握数值方法的思想和内容至关重要。

西北工业大学理学院欧阳洁5计算方法的任务数学模型可算化(1)用有限维空间代替无限维空间(2)用有限过程代替无限过程(3)用简单问题替代复杂问题研究算法的可靠性收敛性、稳定性、误差估计研究算法的复杂度时间复杂度、空间复杂度、逻辑复杂度西北工业大学理学院欧阳洁6鉴于实际问题的复杂性,通常将其具体地分解为一系列子问题进行研究,本课程主要涉及如下几个方面问题的求解算法:¾非线性方程求根¾线性代数方程组求解¾函数插值¾曲线拟合¾数值积分与数值微分¾常微分方程初值问题的数值解法¾矩阵特征值与特征向量计算西北工业大学理学院欧阳洁7§2 误差的度量与传播一误差的来源与分类二绝对误差、相对误差、有效数字三误差的传播西北工业大学理学院欧阳洁8一误差的来源与分类模型误差:数学模型与实际问题的误差观测误差:观测结果与实际问题的误差截断误差:数学模型的理论解与数值计算问题的精确解之间的误差舍入误差:对超过某有限位数的数据进行舍入所产生的误差西北工业大学理学院欧阳洁9二绝对误差、相对误差、有效数字1.绝对误差与绝对误差限2. 相对误差与相对误差限3. 有效数字与有效数西北工业大学理学院欧阳洁11三误差的传播近似数参加运算后所得之值一般也是近似值,含有误差,将这一现象称为误差传播。

第1章 计算方法

第1章 计算方法

定义1 设 x 为准确值, x * 为 x 的一个近似值,称
e* x * x
为近似值的绝对误差, 简称误差. 通常准确值 若 则
x 是未知的,因此误差 e * 也是未知的.
e* x*x *
*
叫做近似值x*的误差限, 它总是正数.
13
对于一般情形
x * x * ,即
* ( xk xk )

k 1
f x k
* ek ,
26
*
于是误差限
( A *)

n
k 1
f x k
* ( x k );
*
(2.3)

A*
的相对误差限为
* r

r ( A *)
( A *)
2
相对误差限
r ( s *) ( s *)
s*

( s *)
l*d *

27 8800
0 . 31 %.
29
1.3
误差定性分析与避免误差危害
30
1.3
一、
定义3
误差定性分析与避免误差危害
算法的数值稳定性
一个算法如果输入数据有误差,而在计算过
程中舍入误差不增长,则称此算法是数值稳定的,否则称 此算法为不稳定的.
A*


n
k 1
f x k

*
( xk )
*
.
(2.4)
A*
27
例2 为
已测得某场地长 , 已知
l
的值为
l * 110 m ,宽 d

第一章计算方法

第一章计算方法
* * *
例 1.2 试建立函数 y = f ( x1 , x 2 , L , x n ) = x1 + x 2 + L + x n 的绝对误差 (限)、相对误差的近似传播公式,以及 x
n
{ }
* n i i =1 同号时的相对误差限传播公式.
* * * e( y * ) ≈ ∑ f i ( x1 , x 2 , L , x n )e( xi* )=∑ e( xi* ) i =1 i =1
则称 ε 为 x*近似 x 的一个绝对误差限 绝对误差限。 绝对误差限
Remark: 实际计算中所要求的误差 误差,是指估计一个 误差 尽可能小的绝对误差限 绝对误差限。 绝对误差限
1 误差度量:相对误差 误差度量:
定义 设 x*是对பைடு நூலகம்确值 x( ≠ 0 )的一个近似,称
x − x e( x ) er ( x ) = = x x
经引入的误差; 经引入的误差;


误差有正有负,误差积累的过程一般包含有误差增长和误
差相消的过程,并非简单的单调增长; 差相消的过程,并非简单的单调增长; 运算次数非常之,不可能人为地跟踪每一步运算。 运算次数非常之,不可能人为地跟踪每一步运算。
初值误差传播( 初值误差传播(续)
初值误差传播:假设每一步都是准确计算, 初值误差传播:假设每一步都是准确计算,即不考虑 截断误差和数据表示引入的舍入误差, 截断误差和数据表示引入的舍入误差,仅研究初始数 据的误差传播规律。 据的误差传播规律。
* * * *
利用在点 ( x1 , x 2 , L , x n ) 处的 Taylor(泰勒)公式
* * * x 1 、 x 2 、…、 x n 很好地近似了相应真值) (当
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

计算方法主讲:廖福成计算方法主要参考书:1.张晓丹等, 《应用计算方法教程》 ,机械 工业出版社,2008。

2.杨大地,王开荣, 《数值分析》 ,科学出 版社,2006。

3.关治,陆金甫, 《数值分析基础》 ,高等 教育出版社,1998。

4.关治,陆金甫, 《数值方法》 ,清华大学 出版社,2006。

5.吴勃英, 《数值分析》 高等教育出版社, , 2007。

6.李庆扬,王能超,易大义, 《数值分析》 , 华中科技大学出版社,2006,第四版。

计算方法第一章计算方法概论计算方法又称数值分析, 是计算数学的一个重要组成部 分, 它主要研究来自科学和工程中的数学问题的算法设计与 相关理论.本章首先介绍计算方法的意义、 任务, 其次介绍计算数 学的一些基本概念, 包括算法与效率、 计算机中数的浮点运 算,误差、问题的性态以及算法的数值稳定性等.上述概念 将贯穿到本教程的全部内容中.计算方法1.11.1.1引言计算方法的意义计算机的发展极大地扩展了数学的应用范围与能力,使得科 学计算平行于理论分析和科学实验成为人类探索未知领域,研究 现代科学技术的第三种手段.对于理论或实验方法难于完成的研 究,计算机模拟可以大大增强对所研究问题的认识. 科学计算的成败不仅与计算工具的先进性有关,而且与所用 计算方法的效能密切相关,计算方法对于计算速度的提高与增强 计算结果的准确性来说,与计算机硬件同等重要.这就导致了计 算方法研究领域的空前活跃,并形成了一门以原来分散在数学各 分支的计算方法为基础的新的数学分支—计算数学. 一系列与计算 数学相关的边缘学科,如计算力学、计算物理、计算电磁学、计 算化学、计算生物、计算地质与计算经济学等,也都相继出现了.计算方法1.1.2 数值计算方法研究的对象与特点数值计算方法:研究适合计算机进行科学计算的方法。

使用计算机、离散。

用计算机解决科学技术和工程问题的步骤:实际问题建立数学模型算法设计程序设计上机计算求得结果其中算法设计是本课程的主要内容。

计算方法又称数值 分析,它研究用计算机解决数学问题的数值算法及其结 论。

计算方法1.2算法与效率1.2.1 算 法解决某类数学问题的数值方法称为数值算法,它是 求解数学问题的过程的完整准确的描述。

为了使算法能 够在计算机上实现,必须将一个数学问题分解成为有限 次的四则运算。

计算方法算法常具有的基本特征:1、算法常表现为一个无穷过程的截断例1解计算 ln1.7 .ln x 在 x0 = 1 的幂级数展开为( −1)k + 1 ln x = ∑ ( x − 1)k , 0 < x ≤ 2 , k k =1∞从而( −1)k +1 ln1.7 = ∑ (0.7)k . k k =1∞计算方法这是一个无穷级数, 为计算它, 我们必须在适当的地方 “截断” ,使计算量不太大,精度又能满足要求。

( −1)k +1 令 Pn ( x ) = ∑ 我们希望对误差限 Tol 确 ( x − 1)k , k k =1n定 n ,使近似值 Pn (1.7 ) 满足ln 1.7 − Pn (1.7 ) < Tol .计算方法∞ ( −1)k +1 k 由级数理论,交错级数 ∑ (0.7 ) = ∑ ak 的余项满足 k k =1 k =1 ∞ln 1.7 − Pn (1.7 ) < an +1 ,当 an +1 < Tol 时,有 ln 1.7 − Pn (1.7 ) < Tol .基于上述讨论,给出如下算法计算方法%算法 x=0.7; tol=10^(-5); n=1; p=x; s=0; term=p; t=-1; while abs(term)>=tol n=n+1; t=-t; s=s+t*term; p=p*x; term=p/n; end disp(s); disp(n);计算方法% input 自变量 1.7, % 误差限 Tol = 10 ; % t 用来定义符号。

% abs( x ) 表示 x 的绝对值。

−5应用此算法求得: n =24, s= 0.530633026589034. (ln(1.7)=0.530628…) 用简化问题的解作为原来问题的近似解, 或构造迭代法 逼近问题的解, 涉及到方法的收敛性问题. 因此构造和分析 此类算法,必须讨论它的收敛性和误差估计.计算方法2、算法常表现为一个连续过程的离散化1 例 2. 计算积分 I = ∫ dx 0 1+ x1解、把区间 [0,1] 分成 4 等分,分别计算 4 个小曲边梯形的1 面 积 , 加 起 来 作 为 积 分 的 近 似 值 。

记 f ( x) = ,取 1+ x f ( xi ) + f ( x i + 1 ) 1 h h = , xi = ih, i = 0,1, 2, 3, 4 , Ti = 2 4则3 1 I=∫ dx ≈ ∑ Ti = 0.697024 0 1+ x i =0 1而精确值为 0.693147 ,可见精度不高。

如进一步划分区间,可 提高精度。

计算方法%a=0,b=1 a=0;b=1; n=input('输入区间等分数 n (n>0'); h=(b-a)/n; T=0; for i=0:n-1 T=T+(Hanshu_f(a+i*h)+Hanshu_f(a+(i+1)*h))*h/2; end disp(T);%函数 Hanshu_f.mfunction f=f(x); f=1/(1+x)计算方法3、算法常表现为“迭代”的形式“迭代”是指一简单算法的多次重复,后一次使用 前一次的结果。

这在程序中表现为“循环” ,易于编写 计算机程序。

例 3 计算多项式p( x ) = a n x + a n − 1 xnn −1++ a1 x + a0的值.计算方法解:用 t k 表示 x , uk 表示 ak x +k k+ a1 x + a0 ,作为初始值,令⎧ t0 = 1 ⎨ ⎩ u0 = a0对 k = 1, 2,, n ,反复执行 ⎧ t k = xt k −1 ⎨ ⎩ uk = uk −1 + ak t k (*)易见p( x ) = un式(*)是一个简单算法的多次循环。

计算方法p( x ) = a n x n + a n − 1 x n − 1 ++ a1 x + a0此算法程序 % inputx, n, a(1), a( 2), ,n +1, a( n + 1), 这里a(i ) = ai −1 , i = 1,% output u=p(x)t = 1; u = a(1) for i = 1 : n t = x * t; end u = u + a(i + 1)* t;计算方法此问题还有一种更好的迭代算法p( x ) = a n x n + a n − 1 x n − 1 + = ( an x n −1 + an −1 x n − 2 ++ a1 x + a0 + a1 ) x + a0 a2 ) x + a1 ) x + a0 + a1 ) x + a0= ((an x n − 2 + an −1 x n− 3 + = ( ( an x + an −1 ) x +令v0 = an ⎧ ⎨ ⎩ vk = xvk −1 + an− k于是 p( x ) = vn 。

后一算法计算量小。

计算方法(**)此算法程序 % input x, n, a(1), a( 2), 这里 a(i ) = ai −1 , i = 1,, a( n + 1), ,n +1%. output v(1)=p(x) 1. v(n+1)= a(n+1); 2. for k=n:-1:1 v(k)= x*v(k+1)+a(k); end计算方法例如,计算 p( x ) = 6 x + 90.6 x + 7.8 x + 2.5 x + 4 , x = 2.344 3 2n=4; a(1)=4;a(2)=2.5;a(3)=7.8; a(4)=90.6;a(5)=6;x=2.34; %. output v=p(x) v= a(n+1); for k=n:-1:1 v= x*v+a(k); end v计算方法例 4 不用开方计算 a (a > 0) 的值。

解:在高等数学里已学过,数列xk +11 a = ( xk + ), k = 0,1, 2, 2 xk收敛,且极限为 a 。

我们利用此式计算。

设 x0 是 a 的一个近似值, x0 > 0 ,则a 也是 a 的一个近 x0似值,且 x0 与a 中必有一个大于 a ,一个小于 a ,可以设想它 x0们的平均值应是 a 的一个更好的近似值。

于是有了以上算法。

计算方法例如计算 3 ,取 x0 = 2 ,有xk +1 =计算有1 3 ( xk + ), k = 0,1, 2, xk 2 x0 = 2 x1 = 1.75 x2 = 1.7321429 x3 = 1.7320508a=3;x=2; n=5; for k=1:n k, x=1/2*(x+a/x) end可见此算法收敛速度极快,只算三次就得到 8 位有效数字。

迭代法应用时要考虑是否收敛,收敛条件和收敛速度等。

计算方法1.2.2 算法的效率同一个数学问题可能有多种数值算法,我们要做出选 择.评价一个算法的好坏主要有两条标准:算法的计算效率 和计算结果的精度.我们自然应该选择计算效率高又能满足 精度要求的算法.算法的计算效率是由它的计算工作量体现 的.一般地,将计算机完成一次浮点加(减)法或乘(除) 法 运 算 称 为 一 次 浮 点 运 算 , 记 作 flop ( floating point operation).我们将一个算法所需四则浮点运算的总次数定义 为它的计算量,单位是 flop. 由于计算机做加减法比做乘除 法快得多,故在统计计算量时,可忽略算法所含加减法的运 算次数,将算法的计算量简化为该算法所需乘法和除法运算 的总次数.通常,算法的计算量越小,它的计算效率就越高.计算方法例 5 再次讨论多项式p( x ) = a n x n + a n − 1 x n − 1 +的计算问题.+ a1 x + a0⎧ t0 = 1 解:算法 1 ⎨ ⎩ u0 = a0 ⎧ t k = xt k −1 , ⎨ ⎩ uk = uk −1 + ak t k k = 1, 2, ,n (*)p( x ) = un计算量为 N=2nflop。

计算方法算法 2p( x ) = a n x n + a n − 1 x n − 1 + = ( an x n −1 + an−1 x n − 2 ++ a1 x + a0 + a1 ) x + a0 a2 ) x + a1 ) x + a0 + a1 ) x + a0= ((an x n− 2 + an−1 x n− 3 + = ( ( a n x + a n −1 ) x +令v 0 = an ⎧ ⎨ ⎩ vk = xv k −1 + an− k于是 p( x ) = vn 。

相关文档
最新文档