计算方法(01) 第一章 绪论改
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学模型的准确解与实际问题的真解不同
实际问题的真 解
为简化模型忽略次要因 素
数学模型的真 解
定理在特定条件下建立与实际 条件有别
实际问题的真解与数学模型之间有误差,这种误差 称为模型误差(描述误差)。
这种误差难于作定量分析, 在数值方法中总是假定所 研制的数学模型是合理的。
对模型误差只作粗略了解,为选择合适的数值方法建 立必要依据
如 果 把 系 数 舍 入 成 三 位数 字
1.000 0.500 0.333 x1 1.83
0.500
0.333
0.250
x2
1.08
0.333 0.250 0.200 x3 0.783
求解得 x1 1.09, x2 0.488, x3 1.49
2. 观测误差
数学模型中的参数和原始数据,是由观测和试验得 到的
由于测量工具的精度、观测方法或客观条件的限制, 使数据含有测量误差,这类误差叫做观测误差或数 据误差
根据实际情况可以得到误差上下界 计算方法中需要了解观测误差,以便选择合理的数
值方法与之适应。
例 记Lt是金属棒在温度t的长度,L0是t0度时金 属棒的长度,求在任何温度下金属棒的长度。 根据热胀冷缩原理和物理实验,可建立如下
科学计算的步骤:实际问题→数学模型→数值方法 →程序设计→上机计算→分析结果。
1、建立数学模型(实际问题数学化)
2、设计计算方案(数学问题数值化)
dy
f (x,
y)
dx
y( x0 ) y0
x x0
3、程序设计(数值问题机器化)
4、上机计算并分析结果
计算方法的特点:
1、要根据计算机的特点设计有效算法。即算法只能包括 加、减、乘、除运算和逻辑运算。因此“归纳”成了 不容忽视的思维方法。
例如计算机进行函数计算时,大多是按泰勒展开式进行 计算的。易知,泰勒展开式一般都是一个无穷级数,而实 际计算时总是取有限项进行计算,后面的项被截去,产生 了截断误差。以 ex为例,
1
e2
1
1
1
1 2
1
1 3
1
1 n
1
பைடு நூலகம்
1
n1
2 2! 2 3! 2
例 给出x,计算 x255
254
A:x255=x·x···x B:x255=x·x2·x4·x8·x16·x32·x64·x128
算法B( Matlab) s x; y x; for i 1 : 7 s s * s; y y * s; end
(输入x, 输出y)
。
计算量 N 14 flop
2、方法是近似的,所以求出的解是有误差的。因此讨论
的核心问题是“误差”。
3、要有好的计算复杂性。计算复杂性包括时间复杂性 和空间复杂性。时间复杂性好是指节省时间,空间复 杂性好是指节省存储量。
4、与计算机紧密结合:上机实现 掌握一门语言:C 语言或 Fortran 语言 熟悉一种数学软件:Matlab,Maple 或 Mathematica 5、要有数值实验。即任何一个算法都要通过数值试验证
算法A、需乘法2n-1次,加法n次,存储单元n+4个。
算法B、秦九韶算法1247 (又称为Horner算法1819)
Pn( x) x( x( xL ( x(an x an1 ) an2 ) L a1 ) a0
有递推公式
sn sk
axn sk 1
ak
k n 1, ,2,1,0
算法B (秦九韶算法) (输入a(i)(i=0,1,…,n),x;输出y)
p a(n)
for k n 1 : 1 : 0
p x * p a(k)
end
注意
计算量 N n flop
有递推公式
sn an sk xsk 1 ak
k n 1, ,2,1,0
教 师: 张 明
办公室: C5--227
第一章 绪 论
§1.1 计算方法的任务与特点
计算方法(也称数值计算方法,数值分析) 的研究对象是从科学与工程问题中归纳出来的 数学问题,它是研究用计算工具(现代主要指 电子数字计算机,简称计算机)得出数学问题 数值解答方法与算法的科学。
计算方法实际上就是介绍在计算机上解决数学问题的
存储量=3
例 计算多项式p( x) 3 x3 4 x2 2 x 6的值。
算法A:由x计算出x2 , x3后再算。 需乘法5次,加法3次,存储单元7个。
算法B:p( x) x[ x(3x 4) 2] 6
需乘法3次,加法3次,存储单元6个。
一般地,计算n次多项式的值
Pn ( x) an xn an1xn1 a1x a0
科学研究的方法: 科学理论,科学实验,科学计算
科学计算的核心内容是以现代化的计算机及数学软件为工 具,以数学模型为基础进行模拟研究。
随着计算机的高速发展,数值计算方法已深入到各个科学 研究领域,计算性的交叉学科不断涌现,如计算力学、计 算物理、计算化学、计算生物学、计算经济学等 。
使用计算机进行科学计算、数据处理及分析已成为人类科 技活动的主要方法之一。熟练地使用计算机进行科学计算 已成为科技工作者的一项基本技能。
M.T. Heath 著,清华大学出版社:McGraw-Hill,2001
基本概念
解析解、精确解、真解、真值 数值解、近似解 数值算法:求问题的数值解的方法
算法的可靠性包括:收敛性,稳定性,误差估计等 算法的评价(优劣)
时间复杂度(计算机运行时间):计算量,一个算法所需四则 运算总次数。 空间复杂度(所占用的计算机存储空间) 逻辑复杂度(影响程序开发的周期以及维护的难易程度)
对求得的数值解的精度进行评估 研究数值算法在计算机上的实现
对于同一问题,不同的算法在计算性能上可能相差百万倍或 者更多!
例 求解一个 n 阶线性方程组,如果使用克莱姆法则,需要计算
n+1 个 n 阶行列式,在不计加减运算情况下,至少需要 n!(n21) 次乘除运算。而使用高斯消去法,只需约2n3/3 次乘除运算
2! 3!
3!
试确定求解eh+ sin(h)的近似计算公式及截断误差。
解:eh sin(h) 1 h 1 h2 1 h3 O(h4 ) h 1 h3 O(h5 )
2! 3!
3!
1 2h 1 h2 O(h4 ) 2!
近似计算公式eh+ sin(h) 1 2h 1 h2的截断误差为O(h4 )。 2!
Pn (x) s0
需乘法n次,加法n次,存储单元n+3个。
算法A (输入a(i)(i=0,1,…,n),x;输出y)
注意
t 1 u a(0) for i 1 : n t x*t u u a(i)* t end
计算量 N 2n flop
Pn ( x) an x n an1 x n1 L a1 x a0
当 n=20 时, 20! (202 1) 9.7 1020
用每秒运算 30 亿次(主频3.0G)的计算机求解时,大约需 要10000年的时间 如果使用高斯消去法,不到一秒钟就能完成
主要内容
插值法 函数逼近 数值积分和数值微分 线性方程组的直接解法和迭代解法 非线性方程(组)的数值求解 矩阵特征值与特征向量的计算 常微分方程的数值解法 偏微分方程的差分解法
n! 2 (n 1)! 2
近似值
截断误差
例 已知e x 1 x 1 x2 1 x3 L 1 xn L ,
2! 3!
n!
求e1的近似值,并估计误差。
解:利用展开式的前三项,取n=2,
e1 1 (1) 1 (1)2 0.5
2
由Taylor公式:f ( x) f ( x0 ) f '( x0 )( x x0 ) L
所需基础
所需基础
高等数学 线性代数 Matlab 编程(非必需)
考试方式
期末 70% 平时 30%(平时作业,考勤)
参考资料
参考资料
计算方法——算法设计及其MATLAB实现
王能超著,高等教育出版社,2004
数值计算引论,白峰杉著,高等教育出版社, 2004 科学计算导论(第 2 版)(英文影印版)
数值计算方法.
概率积分
2 t e x2 dx
0
t [0, )
dy
常微分方程初值问题
dx
f (x,
y)
y( x0 ) y0
x x0
18世纪英国数学家香克斯用了毕生精力,于1873年把圆 周率π计算到了小数点后707位。
1948年美国原子能研究中心有一计算问题,需要900万 道运算,大约相当于1500名工程师一年的计算。
明是行之有效的。
Matlab几个显著特点:
1 用Matlab处理矩阵——容易 2 用Matlab绘图——轻松 3 用Matlab编程——简洁 4 Matlab具有丰富的工具箱
计算方法的任务
计算方法/数值分析的任务
设计求解各种数学问题的高效可靠的数值方法 有效:易于在计算机上实现 可靠:收敛性稳定性等有理论保证 高效:尽可能地节省计算时间和存储空间
计算机数系
在实数系中,每一个实数可以有无穷位,不同的 实数代表数轴上不同的点;
3 1.732050808
在计算机数系中,每一个数只有有限位,只有部分 有理数能被计算机数系中的数精确表示。
浮点数:这 浮33种点不6.允形8能3许式=0被小。.3计 6数83点算×位机10置2数=浮0系.动03的精68表3确×a示11≠表法030称示, 为(1。)数称的为x 的
f
(n) ( x0 ) n!
(x
x0 )n
f ( (n1) )
(n 1)!
(x
x0 )n1
Rn ( x)
xn1 e (n 1)!
x,
0 1
截断误差
R2
e1 0.5
1 1.7*101 3!
例 当h 0时,有如下Taylor展开式
eh 1 h h2 h3 O(h4 ),sin(h) h 1 h3 O(h5 )
4. 舍入误差
由于计算机字长有限,一般实数不能精确存储,于是 产生舍入误差。例如,在10位十进制数限制下:
1 3 0.3333333333
(本应1 3 0.3333333333 3 )
一般而言,一次舍入误差不会产生很大的误差, 但进行多次舍入,并参加后继运算,误差随着运算而 传播,这样可能造成不可忽视的影响。
计算方法实际上就是介绍在计算机上解决数学问题的
数值计算方法.
硬件 功能 算术与逻辑运算
计算机
软件 核心算法
数值算法 非数值算法
计算机硬件的特点是快.软件就是利用计算机高速的 简单运算去实现各种复杂的功能。
我们把在电子计算机上进行的科学工作称为科学计算。
我们把在电子计算机上进行的科学工作称为科学计算。
舍入误差对计算结果影响很大
例 考察方程组
其解为
1
1
2
1 2 1 3
1
11
3 1 4
x1 x2
6 13 12
1
1
1
x3
47
3 4 5
60
x1 x2 x3 1
Pn (x) s0
Pn( x) x( x( xL ( x(an x an1 ) an2 ) L a1 ) a0
§1.2 误差知识
一、误差的来源与分类
1、模型误差 2、观测误差 3、截断误差 4、舍入误差
1. 模型误差
数学模型是通过科学实验或者观察分析一系列数据后, 用数学作为工具近似地描述客观事物的一种数学表达式。
数学模型:
lt L0 (1 t t 2 ) 这里L0是金属棒在t0时的长度,、 为物理参数
并有如下估计:
0.001253 106 , 0.000068 106
Lt lt就是模型误差,10-6 就是观测误差.
3. 截断误差
在数值求解数学问题时,常常用有限过程逼近无限过程, 用能计算的问题代替不能计算的问题。这种精确公式用近 似公式代替时,所产生的误差叫截断误差。
实际问题的真 解
为简化模型忽略次要因 素
数学模型的真 解
定理在特定条件下建立与实际 条件有别
实际问题的真解与数学模型之间有误差,这种误差 称为模型误差(描述误差)。
这种误差难于作定量分析, 在数值方法中总是假定所 研制的数学模型是合理的。
对模型误差只作粗略了解,为选择合适的数值方法建 立必要依据
如 果 把 系 数 舍 入 成 三 位数 字
1.000 0.500 0.333 x1 1.83
0.500
0.333
0.250
x2
1.08
0.333 0.250 0.200 x3 0.783
求解得 x1 1.09, x2 0.488, x3 1.49
2. 观测误差
数学模型中的参数和原始数据,是由观测和试验得 到的
由于测量工具的精度、观测方法或客观条件的限制, 使数据含有测量误差,这类误差叫做观测误差或数 据误差
根据实际情况可以得到误差上下界 计算方法中需要了解观测误差,以便选择合理的数
值方法与之适应。
例 记Lt是金属棒在温度t的长度,L0是t0度时金 属棒的长度,求在任何温度下金属棒的长度。 根据热胀冷缩原理和物理实验,可建立如下
科学计算的步骤:实际问题→数学模型→数值方法 →程序设计→上机计算→分析结果。
1、建立数学模型(实际问题数学化)
2、设计计算方案(数学问题数值化)
dy
f (x,
y)
dx
y( x0 ) y0
x x0
3、程序设计(数值问题机器化)
4、上机计算并分析结果
计算方法的特点:
1、要根据计算机的特点设计有效算法。即算法只能包括 加、减、乘、除运算和逻辑运算。因此“归纳”成了 不容忽视的思维方法。
例如计算机进行函数计算时,大多是按泰勒展开式进行 计算的。易知,泰勒展开式一般都是一个无穷级数,而实 际计算时总是取有限项进行计算,后面的项被截去,产生 了截断误差。以 ex为例,
1
e2
1
1
1
1 2
1
1 3
1
1 n
1
பைடு நூலகம்
1
n1
2 2! 2 3! 2
例 给出x,计算 x255
254
A:x255=x·x···x B:x255=x·x2·x4·x8·x16·x32·x64·x128
算法B( Matlab) s x; y x; for i 1 : 7 s s * s; y y * s; end
(输入x, 输出y)
。
计算量 N 14 flop
2、方法是近似的,所以求出的解是有误差的。因此讨论
的核心问题是“误差”。
3、要有好的计算复杂性。计算复杂性包括时间复杂性 和空间复杂性。时间复杂性好是指节省时间,空间复 杂性好是指节省存储量。
4、与计算机紧密结合:上机实现 掌握一门语言:C 语言或 Fortran 语言 熟悉一种数学软件:Matlab,Maple 或 Mathematica 5、要有数值实验。即任何一个算法都要通过数值试验证
算法A、需乘法2n-1次,加法n次,存储单元n+4个。
算法B、秦九韶算法1247 (又称为Horner算法1819)
Pn( x) x( x( xL ( x(an x an1 ) an2 ) L a1 ) a0
有递推公式
sn sk
axn sk 1
ak
k n 1, ,2,1,0
算法B (秦九韶算法) (输入a(i)(i=0,1,…,n),x;输出y)
p a(n)
for k n 1 : 1 : 0
p x * p a(k)
end
注意
计算量 N n flop
有递推公式
sn an sk xsk 1 ak
k n 1, ,2,1,0
教 师: 张 明
办公室: C5--227
第一章 绪 论
§1.1 计算方法的任务与特点
计算方法(也称数值计算方法,数值分析) 的研究对象是从科学与工程问题中归纳出来的 数学问题,它是研究用计算工具(现代主要指 电子数字计算机,简称计算机)得出数学问题 数值解答方法与算法的科学。
计算方法实际上就是介绍在计算机上解决数学问题的
存储量=3
例 计算多项式p( x) 3 x3 4 x2 2 x 6的值。
算法A:由x计算出x2 , x3后再算。 需乘法5次,加法3次,存储单元7个。
算法B:p( x) x[ x(3x 4) 2] 6
需乘法3次,加法3次,存储单元6个。
一般地,计算n次多项式的值
Pn ( x) an xn an1xn1 a1x a0
科学研究的方法: 科学理论,科学实验,科学计算
科学计算的核心内容是以现代化的计算机及数学软件为工 具,以数学模型为基础进行模拟研究。
随着计算机的高速发展,数值计算方法已深入到各个科学 研究领域,计算性的交叉学科不断涌现,如计算力学、计 算物理、计算化学、计算生物学、计算经济学等 。
使用计算机进行科学计算、数据处理及分析已成为人类科 技活动的主要方法之一。熟练地使用计算机进行科学计算 已成为科技工作者的一项基本技能。
M.T. Heath 著,清华大学出版社:McGraw-Hill,2001
基本概念
解析解、精确解、真解、真值 数值解、近似解 数值算法:求问题的数值解的方法
算法的可靠性包括:收敛性,稳定性,误差估计等 算法的评价(优劣)
时间复杂度(计算机运行时间):计算量,一个算法所需四则 运算总次数。 空间复杂度(所占用的计算机存储空间) 逻辑复杂度(影响程序开发的周期以及维护的难易程度)
对求得的数值解的精度进行评估 研究数值算法在计算机上的实现
对于同一问题,不同的算法在计算性能上可能相差百万倍或 者更多!
例 求解一个 n 阶线性方程组,如果使用克莱姆法则,需要计算
n+1 个 n 阶行列式,在不计加减运算情况下,至少需要 n!(n21) 次乘除运算。而使用高斯消去法,只需约2n3/3 次乘除运算
2! 3!
3!
试确定求解eh+ sin(h)的近似计算公式及截断误差。
解:eh sin(h) 1 h 1 h2 1 h3 O(h4 ) h 1 h3 O(h5 )
2! 3!
3!
1 2h 1 h2 O(h4 ) 2!
近似计算公式eh+ sin(h) 1 2h 1 h2的截断误差为O(h4 )。 2!
Pn (x) s0
需乘法n次,加法n次,存储单元n+3个。
算法A (输入a(i)(i=0,1,…,n),x;输出y)
注意
t 1 u a(0) for i 1 : n t x*t u u a(i)* t end
计算量 N 2n flop
Pn ( x) an x n an1 x n1 L a1 x a0
当 n=20 时, 20! (202 1) 9.7 1020
用每秒运算 30 亿次(主频3.0G)的计算机求解时,大约需 要10000年的时间 如果使用高斯消去法,不到一秒钟就能完成
主要内容
插值法 函数逼近 数值积分和数值微分 线性方程组的直接解法和迭代解法 非线性方程(组)的数值求解 矩阵特征值与特征向量的计算 常微分方程的数值解法 偏微分方程的差分解法
n! 2 (n 1)! 2
近似值
截断误差
例 已知e x 1 x 1 x2 1 x3 L 1 xn L ,
2! 3!
n!
求e1的近似值,并估计误差。
解:利用展开式的前三项,取n=2,
e1 1 (1) 1 (1)2 0.5
2
由Taylor公式:f ( x) f ( x0 ) f '( x0 )( x x0 ) L
所需基础
所需基础
高等数学 线性代数 Matlab 编程(非必需)
考试方式
期末 70% 平时 30%(平时作业,考勤)
参考资料
参考资料
计算方法——算法设计及其MATLAB实现
王能超著,高等教育出版社,2004
数值计算引论,白峰杉著,高等教育出版社, 2004 科学计算导论(第 2 版)(英文影印版)
数值计算方法.
概率积分
2 t e x2 dx
0
t [0, )
dy
常微分方程初值问题
dx
f (x,
y)
y( x0 ) y0
x x0
18世纪英国数学家香克斯用了毕生精力,于1873年把圆 周率π计算到了小数点后707位。
1948年美国原子能研究中心有一计算问题,需要900万 道运算,大约相当于1500名工程师一年的计算。
明是行之有效的。
Matlab几个显著特点:
1 用Matlab处理矩阵——容易 2 用Matlab绘图——轻松 3 用Matlab编程——简洁 4 Matlab具有丰富的工具箱
计算方法的任务
计算方法/数值分析的任务
设计求解各种数学问题的高效可靠的数值方法 有效:易于在计算机上实现 可靠:收敛性稳定性等有理论保证 高效:尽可能地节省计算时间和存储空间
计算机数系
在实数系中,每一个实数可以有无穷位,不同的 实数代表数轴上不同的点;
3 1.732050808
在计算机数系中,每一个数只有有限位,只有部分 有理数能被计算机数系中的数精确表示。
浮点数:这 浮33种点不6.允形8能3许式=0被小。.3计 6数83点算×位机10置2数=浮0系.动03的精68表3确×a示11≠表法030称示, 为(1。)数称的为x 的
f
(n) ( x0 ) n!
(x
x0 )n
f ( (n1) )
(n 1)!
(x
x0 )n1
Rn ( x)
xn1 e (n 1)!
x,
0 1
截断误差
R2
e1 0.5
1 1.7*101 3!
例 当h 0时,有如下Taylor展开式
eh 1 h h2 h3 O(h4 ),sin(h) h 1 h3 O(h5 )
4. 舍入误差
由于计算机字长有限,一般实数不能精确存储,于是 产生舍入误差。例如,在10位十进制数限制下:
1 3 0.3333333333
(本应1 3 0.3333333333 3 )
一般而言,一次舍入误差不会产生很大的误差, 但进行多次舍入,并参加后继运算,误差随着运算而 传播,这样可能造成不可忽视的影响。
计算方法实际上就是介绍在计算机上解决数学问题的
数值计算方法.
硬件 功能 算术与逻辑运算
计算机
软件 核心算法
数值算法 非数值算法
计算机硬件的特点是快.软件就是利用计算机高速的 简单运算去实现各种复杂的功能。
我们把在电子计算机上进行的科学工作称为科学计算。
我们把在电子计算机上进行的科学工作称为科学计算。
舍入误差对计算结果影响很大
例 考察方程组
其解为
1
1
2
1 2 1 3
1
11
3 1 4
x1 x2
6 13 12
1
1
1
x3
47
3 4 5
60
x1 x2 x3 1
Pn (x) s0
Pn( x) x( x( xL ( x(an x an1 ) an2 ) L a1 ) a0
§1.2 误差知识
一、误差的来源与分类
1、模型误差 2、观测误差 3、截断误差 4、舍入误差
1. 模型误差
数学模型是通过科学实验或者观察分析一系列数据后, 用数学作为工具近似地描述客观事物的一种数学表达式。
数学模型:
lt L0 (1 t t 2 ) 这里L0是金属棒在t0时的长度,、 为物理参数
并有如下估计:
0.001253 106 , 0.000068 106
Lt lt就是模型误差,10-6 就是观测误差.
3. 截断误差
在数值求解数学问题时,常常用有限过程逼近无限过程, 用能计算的问题代替不能计算的问题。这种精确公式用近 似公式代替时,所产生的误差叫截断误差。