数值计算方法
《数值计算方法》习题答案

《数值计算方法》课后题答案详解吉 林 大 学第一章 习 题 答 案1. 已知(1)2,(1)1,(2)1f f f −===,求()f x 的Lagrange 插值多项式。
解:由题意知:()01201212001020211012012202121,1,2;2,1,1()()(1)(2)()()6()()(1)(2)()()2()()(1)(1)()()3(1)(2)(1)(2)()2162nj j j x x x y y y x x x x x x l x x x x x x x x x x l x x x x x x x x x x l x x x x x x x x L x y l x ==−=====−−−−==−−−−+−==−−−−−+−==−−−−+−==×+×−∴∑()2(1)(1)131386x x x x +−+×=−+2. 取节点01210,1,,2x x x ===对x y e −=建立Lagrange 型二次插值函数,并估计差。
解11201201210,1,;1,,2x x x y y e y e −−======1)由题意知:则根据二次Lagrange插值公式得:02011201201021012202110.510.520.51()()()()()()()()()()()()()2(1)(0.5)2(0.5)4(1)(224)(43)1x x x x x x x x x x x x L x y y y x x x x x x x x x x x x x x x x e x x e e e x e e x −−−−−−−−−−−−=++−−−−−−=−−+−−−=+−+−−+22)Lagrange 根据余项定理,其误差为(3)2210122()1|()||()||(1)(0.5)|3!61max |(1)(0.5)|,(0,1)6()(1)(0.5),()330.5030.2113()61()0.2113(0.21131)(0.21130.5)0.008026x f R x x e x x x x x x t x x x x t x x x x t x R x ξξωξ−+≤≤==−−≤−−∈′=−−=−+=−==≤××−×−=∴取 并令 可知当时,有极大值3. 已知函数y =在4, 6.25,9x x x ===处的函数值,试通过一个二次插值函数求的近似值,并估计其误差。
数值计算方法教案

数值计算方法教案第一章:数值计算概述1.1 数值计算的定义与特点引言:介绍数值计算的定义和基本概念数值计算的特点:离散化、近似解、误差分析1.2 数值计算方法分类直接方法:高斯消元法、LU分解法等迭代方法:雅可比迭代、高斯-赛德尔迭代等1.3 数值计算的应用领域科学计算:物理、化学、生物学等领域工程计算:结构分析、流体力学、电路模拟等第二章:误差与稳定性分析2.1 误差的概念与来源绝对误差、相对误差和有效数字误差来源:舍入误差、截断误差等2.2 数值方法的稳定性分析线性稳定性分析:特征值分析、李雅普诺夫方法非线性稳定性分析:李模型、指数稳定性分析2.3 提高数值计算精度的方法改进算法:雅可比法、共轭梯度法等增加计算精度:闰塞法、理查森外推法等第三章:线性方程组的数值解法3.1 高斯消元法算法原理与步骤高斯消元法的优缺点3.2 LU分解法LU分解的步骤与实现LU分解法的应用与优势3.3 迭代法雅可比迭代法与高斯-赛德尔迭代法迭代法的选择与收敛性分析第四章:非线性方程和方程组的数值解法4.1 非线性方程的迭代解法牛顿法、弦截法等收敛性条件与改进方法4.2 非线性方程组的数值解法高斯-赛德尔法、共轭梯度法等方程组解的存在性与唯一性4.3 非线性最小二乘问题的数值解法最小二乘法的原理与方法非线性最小二乘问题的算法实现第五章:插值与逼近方法5.1 插值方法拉格朗日插值、牛顿插值等插值公式的构造与性质5.2 逼近方法最佳逼近问题的定义与方法最小二乘逼近、正交逼近等5.3 数值微积分数值求导与数值积分的方法数值微积分的应用与误差分析第六章:常微分方程的数值解法6.1 初值问题的数值解法欧拉法、改进的欧拉法龙格-库塔法(包括单步和多步法)6.2 边界值问题的数值解法有限差分法、有限元法谱方法与辛普森法6.3 常微分方程组与延迟微分方程的数值解法解耦与耦合方程组的处理方法延迟微分方程的特殊考虑第七章:偏微分方程的数值解法7.1 偏微分方程的弱形式介绍偏微分方程的弱形式应用实例:拉普拉斯方程、波动方程等7.2 有限差分法显式和隐式差分格式稳定性分析与收敛性7.3 有限元法离散化过程与元素形状函数数值求解与误差估计第八章:优化问题的数值方法8.1 优化问题概述引言与基本概念常见优化问题类型8.2 梯度法与共轭梯度法梯度法的基本原理共轭梯度法的实现与特点8.3 序列二次规划法与内点法序列二次规划法的步骤内点法的原理与应用第九章:数值模拟与随机数值方法9.1 蒙特卡洛方法随机数与重要性采样应用实例:黑箱模型、金融衍生品定价等9.2 有限元模拟离散化与求解过程应用实例:结构分析、热传导问题等9.3 分子动力学模拟基本原理与算法应用实例:材料科学、生物物理学等第十章:数值计算软件与应用10.1 常用数值计算软件介绍MATLAB、Python、Mathematica等软件功能与使用方法10.2 数值计算在实际应用中的案例分析工程设计中的数值分析科学研究中的数值模拟10.3 数值计算的展望与挑战高性能计算的发展趋势复杂问题与多尺度模拟的挑战重点解析本教案涵盖了数值计算方法的基本概念、误差分析、线性方程组和非线性方程组的数值解法、插值与逼近方法、常微分方程和偏微分方程的数值解法、优化问题的数值方法、数值模拟与随机数值方法以及数值计算软件与应用等多个方面。
机械工程中的数值计算方法及应用问题研究

机械工程中的数值计算方法及应用问题研究在机械工程领域,数值计算方法是一种常用的工具,用于解决各种与机械系统相关的数学问题。
通过应用数值计算方法,我们可以更好地理解和预测机械系统的行为,优化设计,提高效率和性能。
本文将探讨机械工程中数值计算方法的原理和应用,并讨论其中的一些常见问题。
一、数值计算方法的原理数值计算方法是一种通过近似计算数学问题的方法。
相对于解析解,数值计算方法可以更灵活地处理复杂的机械系统问题。
其基本原理包括以下几个方面:1.数值离散化:机械系统通常由一系列的微分方程或积分方程描述。
为了进行计算,我们需要将连续的物理量转化为离散的数值。
这可以通过将系统分割成一系列小的部分来实现。
2.数值逼近:数值方法通过使用逼近技术,将实际问题转化为一系列代数方程的求解。
逼近技术可以是插值、拟合或优化等数学方法。
通过选择适当的逼近技术,我们可以准确地近似原始物理问题。
3.数值求解:一旦问题被转化为代数方程,我们可以使用各种数值求解方法来获得近似解。
常见的数值求解方法包括迭代法、高斯消元法和牛顿法等。
这些方法用于求解线性和非线性方程组,以及求解积分和微分方程。
二、数值计算方法的应用数值计算方法在机械工程中有广泛的应用。
以下是一些常见的应用领域:1.结构分析:数值计算方法可以用于分析和优化机械结构的强度、刚度和振动特性。
通过使用有限元分析法(Finite Element Analysis, FEA),我们可以对结构进行离散化,并通过求解代数方程获得结构的应力、应变和模态等信息。
2.流体力学:数值计算方法在流体力学中起着重要作用。
通过采用有限体积法(Finite Volume Method, FVM)或有限差分法(Finite Difference Method, FDM),我们可以模拟流体的流动、传热和传质等过程。
这在液压机械、风力涡轮机和喷气发动机等领域具有广泛的应用。
3.优化设计:数值计算方法可以与优化算法结合,用于优化机械系统的设计参数。
数值计算方法

1.题目造倒数表,并例求 18 的倒数。
(精度为 0.0005)2.算法原理2.1 牛顿迭代法牛顿迭代法是通过非线性方程线性化得到迭代序列的一种方法。
对于非线性方程f x( ) = 0 ,若已知根x* 的一个近似值x k ,将f (x) 在x k 处展成一阶泰勒公式后忽略高次项可得:f (x) ≈f x( k ) + f '(x k )(x −x k )右端是直线方程,用这个直线方程来近似非线性方程f (x) 。
将非线性方程f x( ) = 0的根x*代入f x( *) = 0 ,即f x( k ) + f '(x k )(x* −x k ) ≈ 0* x k−f (x k ) 解出x ≈f '(x k )将右端取为x k+1 ,则x k+1 是比x k 更接近于x* 的近似值,即f (x k )x k+1 ≈x k −f '(x k ) 这就是牛顿迭代公式,相应的迭代函数是f (x)ϕ(x) = x −f '(x)2.2 牛顿迭代法的应用1 1算是求cx− =1 0的解,解出计x,即得到。
取c c 有牛顿迭代公式精品文档cx k −11 x k+1 = x k −= c c 这样就失去了迭代的意义,达不到迭代的效果。
1f (x) = cx−1,f '(x)= c,故重新构造方程:cx2 −x = 0 ,也是该式的解。
故取f (x) = cx2 −x ,cf '(x) = 2cx −1,则有牛顿迭代公式x k+1 = x k −cx k2 −x k = cx k2 , k = 0,1,...2cx k −1 2c k −11 1的值在~ 之间,取初值x0 = 0.1。
20 103.流程图0 ,,N x ε读入 1 k⇒ ( ) 0?0x f ′ = 1x 输出 01 1 k kx x ⇒ + ⇒ ( ) ( )0 10 0f x x x f x ⇒ − ′ 1 0 ?x x ε − < ≠=<=≥≠4.输出结果5.结果分析当k= 3时,得 5 位有效数字 0.05 564。
数值计算方法

数值计算方法的特点1.面向计算机,要根据计算特点提供实际可行的有效算法,即算法只能包括加、减、乘、除运算和逻辑运算,是计算机能直接处理的。
2.有可能的理论分析,能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析,这些都建立在相应数学理论基础上。
3.要有好的计算复杂性,时间复杂性好是指节省时间,空间复杂性好是指节省存储量,这也是建立算法要研究的问题,它关系到算法能否在计算机上实现。
4.要有数值实验,即任何一个算法除了从理论上要满足上述三点外,还要通过数值试验证明是行之有效的。
误差来源模型误差;观测误差;截断误差;舍入误差。
设计算法的注意事项1.要注意简化计算步骤,减少运算次数。
2.要避免两相近数相减。
3.要注意浮点数运算的特点,防止大数“吃掉”小数。
4.要避免除数绝对值远远小于被除数绝对值的除法。
5.要设法控制误差的传播,选取数值稳定的计算公式。
二分法局限性是只能用于求实根,不能用于求复根及偶数重根。
牛顿法X n+1=x n-[f(x1)]/[f’(x1)],n=1,2,3……例:用牛顿法求方程f(x)=x3+4x2-10=0在[1,2]内一个实根,取初始近似值x0=1.5解:f’(x)=3x2+8x所以迭代公式为X n+1=x n-(x n3+4x n2-10)/(3x n2+8x n),n=0,1,2……拉格朗日插值多项式l0(x)=(x-x1)/(x0-x1),l1(x)=(x-x0)/(x1-x0)L1(x)=y0l0(x)+y1l1(x)例:已知y=,x0=4,x1=9,用线性插值求的近似值。
解:y0=2,y1=3,基函数分别为l0(x)=(x-9)/(4-9)=…….L1(x)=(x-4)/(9-4)=……..L1(x)= y0l0(x)+y1l1(x)=……所以L1(x)=……多项式拟合解题步骤:1.由已知数据画出函数粗略的图形—散点图,确定拟合多项式的次数n。
数值计算三种算法比较

有限元法,有限差分法和有限体积法的区别作者:闫霞1. FDM 1.1概念有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍被广泛运用。
该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。
有限差分法以Taylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。
该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。
1.2差分格式(1)从格式的精度来划分,有一阶格式、二阶格式和高阶格式。
(2)从差分的空间形式来考虑,可分为中心格式和逆风格式。
(3)考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。
目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。
差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。
1.3构造差分的方法构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。
其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。
通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。
2. FEM 2.1概述有限元方法的基础是变分原理和加权余量法,其基本求解思想是把计算域划分为有限个互不重叠的单元,在每个单元内,选择一些合适的节点作为求解函数的插值点,将微分方程中的变量改写成由各变量或其导数的节点值与所选用的插值函数组成的线性表达式,借助于变分原理或加权余量法,将微分方程离散求解。
采用不同的权函数和插值函数形式,便构成不同的有限元方法。
2.2原理有限元方法最早应用于结构力学,后来随着计算机的发展慢慢用于流体力学、土力学的数值模拟。
在有限元方法中,把计算域离散剖分为有限个互不重叠且相互连接的单元,在每个单元内选择基函数,用单元基函数的线形组合来逼近单元中的真解,整个计算域上总体的基函数可以看为由每个单元基函数组成的,则整个计算域内的解可以看作是由所有单元上的近似解构成。
数值计算方法 教学反思
数值计算方法教学反思
一、课程名称:数值计算方法
二、教学内容:
1. 引论:介绍数值计算方法的内容,讨论计算机数值计算方法
的应用场景,以及数值计算过程中所涉及到的数学、物理、计算机知识。
2. 常见数值计算方法:讨论数值分析的基本方法,讨论常见积
分计算方法,讨论常见求根计算方法,讨论常见解方程求解方法等。
3. 数值计算软件工具:Matlab 和 Mathematica,介绍它们的基本用法,以及如何使用它们进行数值计算。
三、教学反思:
数值计算方法是计算机科学和工程学科领域的一个重要组成部分,这门课程使学生了解到数值计算的基本方法以及相关的软件工具,能够用计算机处理实际问题,从而解决复杂的数学、物理等问题,并具备了利用计算机进行科学研究的能力。
在教学过程中,我尽量充分利用计算机数值计算软件,及时给学生一些实际的操作练习,让学生更容易理解数值计算方法,加强学生的实践能力。
另外,我也特别重视理论讲解,努力让学生了解各种数值计算方法的原理和实际应用。
最后,我还会安排一些专题讨论,让学生能够进行合作学习,解决实际问题,积累实践经验,掌握更多的数值计算方法。
- 1 -。
数值计算方法实验报告
一、实验目的1. 熟悉数值计算的基本概念和方法;2. 掌握数值计算的基本原理和算法;3. 提高编程能力和数值计算能力;4. 通过实验,加深对数值计算方法的理解和应用。
二、实验内容1. 矩阵运算2. 线性方程组求解3. 函数求值4. 微分方程求解三、实验步骤1. 矩阵运算(1)编写程序实现矩阵的加法、减法、乘法运算;(2)编写程序实现矩阵的转置运算;(3)编写程序实现矩阵的逆运算。
2. 线性方程组求解(1)编写程序实现高斯消元法求解线性方程组;(2)编写程序实现雅可比迭代法求解线性方程组;(3)编写程序实现高斯-赛德尔迭代法求解线性方程组。
3. 函数求值(1)编写程序实现牛顿迭代法求函数的零点;(2)编写程序实现二分法求函数的零点;(3)编写程序实现割线法求函数的零点。
4. 微分方程求解(1)编写程序实现欧拉法求解一阶微分方程;(2)编写程序实现龙格-库塔法求解一阶微分方程;(3)编写程序实现龙格-库塔-法求解二阶微分方程。
四、实验结果与分析1. 矩阵运算(1)矩阵加法、减法、乘法运算结果正确;(2)矩阵转置运算结果正确;(3)矩阵逆运算结果正确。
2. 线性方程组求解(1)高斯消元法求解线性方程组,结果正确;(2)雅可比迭代法求解线性方程组,结果正确;(3)高斯-赛德尔迭代法求解线性方程组,结果正确。
3. 函数求值(1)牛顿迭代法求函数的零点,结果正确;(2)二分法求函数的零点,结果正确;(3)割线法求函数的零点,结果正确。
4. 微分方程求解(1)欧拉法求解一阶微分方程,结果正确;(2)龙格-库塔法求解一阶微分方程,结果正确;(3)龙格-库塔-法求解二阶微分方程,结果正确。
五、实验总结本次实验通过对数值计算方法的学习和实践,使我对数值计算有了更深入的了解。
以下是我对本次实验的总结:1. 矩阵运算是数值计算的基础,熟练掌握矩阵运算对于解决实际问题具有重要意义;2. 线性方程组求解是数值计算中常见的问题,高斯消元法、雅可比迭代法和高斯-赛德尔迭代法是常用的求解方法;3. 函数求值是数值计算中另一个常见问题,牛顿迭代法、二分法和割线法是常用的求解方法;4. 微分方程求解是数值计算中的难点,欧拉法、龙格-库塔法和龙格-库塔-法是常用的求解方法。
数值计算方法课件
2020/8/1
4
1.1 算法
一、算法的概念 当我们用数值计算方法求解一个比较复杂的数学问题
时,常常要事先拟定一个计算方案,规划一下计算的步骤。 所谓算法,就是指在求解数学问题时,对求解方案和计算 步骤的完整而明确的描述。
描述一个算法可以采用许多方法,最常用的一个方法 是程序流程图。算法也可以用人的自然语言来描述。如果 用计算机能接受的语言来描述算法,就称为程序设计。
1 x ne x1d x
0
x ne x1
1 0
1 n x n1e x1d x
0
1 n 1 x n 1 e x 1 d x 0
2020/8/1
17
或
En 1 nEn1 ( n=2, 3, ...)
这里
1 E1 e 0.3678794412
E1
1 xe x1dx
0
1 xd e x 1 0
如
取
E
的
20
近
似
值
为
零
,
以
它
为
起
始
值
,
则
起
始
误
差
最
大
为
1。 21
此
误
差
在
求
E 1 9时
乘
了
1, 20
因
此
E
1
的9ຫໍສະໝຸດ 误差最大
为
1 20
1。 21
E
的
9
误
差
最
大
,
为
1 10
1 11
时 , 起 始 误 差 已 减 小 至 2.5 10 8。
1 20
1。 21
数值计算方法第一章
数值计算方法第一章(总12页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--2第一章 绪 论本章以误差为主线,介绍了计算方法课程的特点,并概略描述了与算法相关的基本概念,如收敛性、稳定性,其次给出了误差的度量方法以及误差的传播规律,最后,结合数值实验指出了算法设计时应注意的问题.§ 引 言计算方法以科学与工程等领域所建立的数学模型为求解对象,目的是在有限的时间段内利用有限的计算工具计算出模型的有效解答。
由于科学与工程问题的多样性和复杂性,所建立的数学模型也是各种各样的、复杂的. 复杂性表现在如下几个方面:求解系统的规模很大,多种因素之间的非线性耦合,海量的数据处理等等,这样就使得在其它课程中学到的分析求解方法因计算量庞大而不能得到计算结果,且更多的复杂数学模型没有分析求解方法. 这门课程则是针对从各种各样的数学模型中抽象出或转化出的典型问题,介绍有效的串行求解算法,它们包括(1) 非线性方程的近似求解方法; (2) 线性代数方程组的求解方法;(3) 函数的插值近似和数据的拟合近似; (4) 积分和微分的近似计算方法; (5) 常微分方程初值问题的数值解法; (6) 优化问题的近似解法;等等从如上内容可以看出,计算方法的显着特点之一是“近似”. 之所以要进行近似计算,这与我们使用的工具、追求的目标、以及参与计算的数据来源等因素有关.计算机只能处理有限数据,只能区分、存储有限信息,而实数包含有无穷多个数据,这样,当把原始数据、中间数据、以及最终计算结果用机器数表示时就不可避免的引入了误差,称之为舍入误差.我们需要在有限的时间段内得到运算结果,就需要将无穷的计算过程截断,从而产生截断误差. 如 +++=!21!111e 的计算是无穷过程,当用!1!21!111n e n ++++= 作为e 的近似时,则需要进行有限过程的计算,但产生了截断误差e e n -.3当用计算机计算n e 时,因为舍入误差的存在,我们也只能得到n e 的近似值*e ,也就是说最终用*e 近似e ,该近似值既包含有舍入误差,也包含有截断误差.当参与计算的原始数据是从仪器中观测得来时,也不可避免得有观测误差. 由于这些误差的大量存在,我们得到的只能是近似结果,进而对这些结果的“可靠性”进行分析就是必须的,它成为计算方法的第二个显着特点. 可靠性分析包括原问题的适定性和算法的收敛性、稳定性.所谓适定性问题是指解存在、惟一,且解对原始数据具有连续依赖性的问题. 对于非适定问题的求解,通常需要作特殊的预处理,然后才能做数值计算. 在这里,如无特殊说明,都是对适定的问题进行求解.对于给定的算法,若有限步内得不到精确解,则需研究其收敛性. 收敛性是研究当允许计算时间越来越长时,是否能够得到越来越可靠的结果,也就是研究截断误差是否能够趋于零.对于给定的算法,稳定性分析是指随着计算过程的逐步向前推进,研究观测误差、舍入误差对计算结果的影响是否很大.对于同一类模型问题的求解算法可能不止一种,常希望从中选出高效可靠的求解算法. 如我国南宋时期着名的数学家秦九韶就提出求n 次多项式0111a x a x a x a n n n n ++++-- 值的如下快速算法n a s =;k n a t -=;t sx s += ),,2,1(n k =它通过n 次乘法和n 次加法就计算出了任意n 次多项式的值. 再如幂函数64x 可以通过如下快速算法计算出其值x s =;s s s ⋅=;循环6次如上算法仅用了6次乘法运算,就得到运算结果.算法最终需要在计算机上运行相应程序,才能得到结果,这样就要关注算法的时间复杂度(计算机运行程序所需时间的度量)、空间复杂度(程序、数据对存储空间需求的度量)和逻辑复杂度(关联程序的开发周期、可维护性以及可扩展性). 事实上,每一种算法都有自己的局限性和优点,仅仅理论分析是很不够的,大量的实际计算也非常重要,结合理论分析以及相当的数值算例结果才有可能选择出适合自己关心问题的有效求解算法. 也正因如此,只有理论分析结合实际计算才能真正把握准算法.4§ 误差的度量与传播一、误差的度量误差的度量方式有绝对误差、相对误差和有效数字.定义 用*x 作为量x 的近似,则称)(:**x e x x =-为近似值*x 的绝对误差. 由于量x 的真值通常未知,所以绝对误差不能依据定义求得,但根据测量工具或计算情况,可以估计出绝对误差绝对值的一个较小上界ε,即有ε≤-=x x x e **)( 称正数ε为近似值*x 的绝对误差限,简称误差. 这样得到不等式εε+≤≤-**x x x工程中常用ε±=*x x表示近似值*x 的精度或真值x 所在的范围.误差是有量纲的,所以仅误差数值的大小不足以刻划近似的准确程度. 如量m m cm s μ50001230000005.023.15.0123±=±=±= 为此,我们需要引入相对误差定义 用0*≠x 作为量x 的近似,称)(:**x e xx x r =-为近似值*x 的相对误差. 当*x 是x 的较好近似时,也可以用如下公式计算相对误差***)(x x x x e r -=显然,相对误差是一个无量纲量,它不随使用单位变化. 如式中的量s 的近似,无论使用何种单位,它的相对误差都是同一个值.同样地,因为量x 的真值未知,我们需要引入近似值*x 的相对误差限)(*x r ε,它是相对误差绝对值的较小上界. 结合式和,*x 相对误差限可通过绝对误差限除以近似值的绝对值得到,即***)()(x x x r εε= 为给出近似数的一种表示法,使之既能表示其大小,又能体现其精确程度,需引入有效数字以及有效数的概念.定义 设量x 的近似值*x 有如下标准形式 p n m a a a a x 21*.010⨯±=()p m p n m n m m a a a a ----⨯++⨯++⨯+⨯±101010102211 =其中}9,,1,0{}{1 ⊂=p i i a 且01≠a ,m 为近似值的量级. 如果使不等式5n m x x -⨯≤-1021* 成立的最大整数为n ,则称近似值*x 具有n 位有效数字,它们分别是1a 、2a 、… 和 n a . 特别地,如果有p n =,即最后一位数字也是有效数字,则称*x 是有效数.从定义可以看出,近似数是有效数的充分必要条件是末位数字所在位置的单位一半是绝对误差限. 利用该定义也可以证明,对真值进行“四舍五入”得到的是有效数. 对于有效数,有效数字的位数等于从第一位非零数字开始算起,该近似数具有的位数. 注意,不能给有效数的末位之后随意添加零,否则就改变了它的精度.例 设量π=x ,其近似值141.3*1=x ,142.3*2=x ,722*3=x . 试回答这三个近似值分别有几位有效数字,它们是有效数吗 解 这三个近似值的量级1=m ,因为有312*110211021005.000059.0--⨯=⨯=≤=- x x 413*2102110210005.00004.0--⨯=⨯=≤=- x x 571428571428.3*3=x312*310211021005.0001.0--⨯=⨯=≤=- x x 所以*1x 和*3x 都有3位有效数字,但不是有效数. *2x 具有4位有效数字,是有效数.二、误差的传播这里仅介绍初值误差传播,即假设自变量带有误差,函数值的计算不引入新的误差. 对于函数),,,(21n x x x f y =有近似值),,,(**2*1*n x x x f y =,利用在点),,,(**2*1n x x x 处的泰勒公式(Taylor Formula),可以得到)(),,,()(*1**2*1**i i ni n i x x x x x f y y y e -≈-=∑= )(),,,(*1**2*1i ni n i x e x x x f ∑==其中ii x ff ∂∂=:,*i x 是i x 的近似值,)(*i x e 是*i x 的绝对误差),,2,1(n i =. 式表明函数值的绝对误差近似等于自变量绝对误差的线性组合,组合系数为相应的偏导数值.从式也可以推得如下函数值的相对误差传播近似计算公式6)(),,,()(***1**2*1*i r i ni ni r x e y x x x x f y e ∑=≈对于一元函数)(x f y =,从式和可得到如下初值误差传播近似计算公式)()()(***x e x f y e '≈)()()(*****x e yx x f y e r r '≈式表明,当导数值的绝对值很大时,即使自变量的绝对误差比较小,函数值的绝对误差也可能很大.例 试建立函数n n x x x x x x f y +++== 2121),,,(的绝对误差(限)、相对误差的近似传播公式,以及{}ni i x 1*0=>时的相对误差限传播公式.解 由公式和可分别推得和的绝对误差、相对误差传播公式如下∑∑==≈ni i ini ni x e x e x x x f y e 1**1**2*1*)()(),,,()(=∑∑==≈ni i r i i r i ni ni r x e yx x e y x x x x f y e 1******1**2*1*)()(),,,()(=进而有∑∑∑===≤≤≈ni in i in i ix x e x e y e 1*1*1**)()()()(ε于是有和的绝对误差限近似传播公式 ∑=≈ni i x y 1**)()(εε当{}ni i x 1*0=>时,由式推得相对误差限的近似传播公式)(max )(max )(max )()()(*11***11***11****1**i r ni ni i ir n i ni i i r n i ni i r i ni ir x yx x y x x x y x yxy εεεεεε≤≤=≤≤=≤≤====≤=≈∑∑∑∑例 使用足够长且最小刻度为1mm 的尺子,量得某桌面长的近似值3.1304*=a mm ,宽的近似值8.704*=b mm (数据的最后一位均为估计值). 试求桌子面积近似值的绝对误差限和相对误差限.解 长和宽的近似值的最后一位都是估计位,尺子的最小刻度是毫米,故有误差限5.0)(*=a εmm ,5.0)(*=b εmm面积ab S =,由式得到近似值***b a S =的绝对误差近似为)()()(*****b e a a e b S e +≈7进而有绝对误差限55.10045.03.13045.08.704)()()(*****=⨯+⨯=+≈b a a b S εεε mm 2 相对误差限 %11.00011.08.7043.130455.1004)()(***=≈⨯=≈S S S r εε§ 数值实验与算法性能比较本节通过几个简单算例说明解决同一个问题可以有不同的算法,但算法的性能并不完全相同,他们各自有自己的适用范围,并进而指出算法设计时应该注意的事项.算例 表达式)1(1111+=+-x x x x ,在计算过程中保留7位有效数字,研究对不同的x ,两种计算公式的计算精度的差异.说明1:Matlab 软件采用IEEE 规定的双精度浮点系统,即64位浮点系统,其中尾数占52位,阶码占10位,尾数以及阶码的符号各占1位. 机器数的相对误差限(机器精度)eps=2-52≈×10-16,能够表示的数的绝对值在区间×10-308,×10308)内,该区间内的数能够近似表达,但有舍入误差,能够保留至少15位有效数字. 其原理可参阅参考文献[2, 4].分析算法1: 111)(1+-=x x x y 和算法2: )1(1)(2+=x x x y 的误差时,精确解用双精度的计算结果代替. 我们选取点集301}{=i i π中的点作为x ,比较两种方法误差的差异.从图可以看出,当x 不是很大时,两种算法的精度相当,但当x 很大时算法2的精度明显高于算法1. 这是因为,当x 很大时,x 1和11+x 是相近数,用算法1进行计算时出现相近数相减,相同的有效数字相减后变成零,于是有效数字位数急剧减少,自然相对误差增大. 这一事实也可以从误差传播公式分析出. 鉴于此,算法设计时,应该避免相近数相减.在图中我们给出了当x 接近1-时,两种算法的精度比较,其中变量x 依次取为{}3011=--i i π. 从图中可以看出两种方法的相对误差基本上都为710-,因而二者的精度相当.8图 算例中两种算法的相对误差图(+∞→x )图 算例中两种算法的精度比较)1(-→x算例 试用不同位数的浮点数系统求解如下线性方程组⎩⎨⎧=+=+2321200001.02121x x x x 说明2:浮点数系统中的加减法在运算时,首先按较大的阶对齐,其次对尾数实施相应的加减法运算,最后规范化存入计算机.算法1 首先用第一个方程乘以适当的系数加至第二个方程,使得第二个方程的1x 的系数为零,这时可解出2x ;其次将2x 带入第一个方程,进而求得1x (在第三章中称该方法为高斯消元法). 当用4位和7位尾数的浮点运算实现该算法,分别记之为算法1a 和算法1b .9算法 2 首先交换两个方程的位置,其次按算法1计算未知数 (第三章中称其为选主元的高斯消元法). 当用4位和7位尾数的浮点运算实现该算法,分别记之为算法2a 和算法2b .方程组的精确解为...25000187.01=x ,...49999874.02=x ,用不同的算法计算出的结果见表.对于算例,表中的数据表明,当用4位尾数计算时,算法1给出错误的结果,算法2则给出解很好的近似. 这是因为在实现算法1时,需要给第一个方程乘以00001.0/2-加至第二个方程,从而削去第二个方程中1x 的系数,但在计算2x 的系数时需做如下运算661610000003.0104.0103.0104.03200001.02⨯⨯⨯⨯=+⨯+=-+--对上式用4位尾数进行计算,其结果为6104.0⨯-. 因为舍入误差,给相对较大的数加以相对较小的数时,出现大数“吃掉”小数的现象. 计算右端项时,需做如下运算661610000002.0102.0102.0102.02100001.02⨯⨯⨯⨯=+⨯+=-+--同样出现了大数吃小数现象,其结果为6102.0⨯-. 这样,得到的变形方程组⎩⎨⎧⨯-=⨯-⨯=⨯+⨯62612114102.0104.0101.0102.0101.0x x x 中没有原方程组中第二个方程的信息,因而其解远偏离于原方程组的解. 该算法中之所以出现较大数的原因是因为运算00001.0/2-,因而算法设计中尽可能避免用绝对值较大的数除以绝对值较小的数. 其实当分子的量级远远大于分母的量级时,除法运算还会导致溢出,计算机终止运行.虽从单纯的一步计算来看,大数吃掉小数,只是精度有所损失,但多次的大数吃小数,累计起来可能带来巨大的误差,甚至导致错误. 例如在算法1a 中出现了两次大数吃小数现象,带来严重的后果. 因而尽可能避免大数吃小数的出现在算法设计中也是非常必要的.10当用较多的尾数位数进行计算,舍入误差减小,算法1和2的结果都有所改善,算法1的改进幅度更大些.算例 计算积分⎰+=1055dx x x I n 有递推公式),2,1(511 =-=-n I nI n n ,已知56ln 0=I . 采用IEEE 双精度浮点数,分别用如下两种算法计算30I 的近似值.算法1 取0I 的近似值为6793950.18232155*0=I ,按递推公式*1*51--=n n I nI 计算*30I算法2 因为)139(5156)139(611039103939+⨯=<<=+⨯⎰⎰dx x I dx x ,取39I 的近似值为3333330.004583332001240121*39≈⎪⎭⎫ ⎝⎛+=I ,按递推公式⎪⎭⎫ ⎝⎛-=-**1151n n I n I 计算*30I算法1和算法2 的计算结果见表. 误差绝对值的对数图见图.图 算例用不同算法计算结果的误差绝对值的对数图 从表中的计算结果可以看出,算法1随着计算过程的推进,绝对误差几乎不断地以5的倍数增长,即有0*02*221*1*555I I I I I I I I n n n n n n n -≈≈-≈-≈-----成立. 对于逐步向前推进的算法,若随着过程的进行,相对误差在不断增长,导致产生不可靠的结果,这种算法称之为数值不稳定的算法. 对于算法1绝对误差按5的幂次增长,但真值的绝对值却在不断变小且小于1,相对误差增长的速度快于5的幂次,导致产生错误的结果,因而算法1数值不稳定,不能使用. 而算法2随着计算过程的推进,绝对误差几乎不断地缩小为上一步的1/5,即有m m n m n n n n n n n I I I I I I I I 5/5/5/*22*21*1*++++++-≈≈-≈-≈-成立. 绝对误差不断变小,真值的绝对值随着过程向前推进却在变大,这样相对误差也越来越小,这样的方法称之为数值稳定的算法. 算法1和算法2的误差对数示意图见图. 这个算例告诉我们应该选用数值稳定的算法.知识结构图⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎨⎧⎩⎨⎧⎪⎩⎪⎨⎧⎩⎨⎧算法设计要点数值方法的稳定性数值方法的收敛性算法多元函数一元函数传播有效数字相对误差(限)绝对误差(限)度量截断误差舍入误差误差的产生误差误差与算法 习题一1 已知有效数105.3*1-=x ,4*210125.0⨯=x ,010.0*3=x . 试给出各个近似值的绝对误差限和相对误差限,并指出它们各有几位有效数字.2 证明当近似值*x 是x 的较好近似时,计算相对误差的计算公式x x x -*和**x x x -相差一个和2*⎪⎪⎭⎫ ⎝⎛-x x x 同阶的无穷小量.3 设x 的近似值*x 具有如式的表示形式,试证明 1) 若*x 具有n 位有效数字,则相对误差n r a x e -⨯≤11*1021)(; 2) 若相对误差n r a x e -⨯+≤11*10)1(21)(,则*x 至少具有n 位有效数字. 4 试建立二元算术运算的绝对误差限传播近似计算公式.5 试建立如下表达式的相对误差限近似传播公式,并针对第1题中数据,求下列各近似值的相对误差限.1) *3*2*1*1x x x y +=; 2) 3*2*2x y =; 3) *3*2*3/x x y = 6 若例题中使用的尺子长度是80mm ,最小刻度为1mm ,量得某桌面长的近似值3.1304*=a mm ,宽的近似值8.704*=b mm . 试估计桌子长度、宽度的绝对误差限,并求用该近似数据计算出的桌子面积的绝对误差限和相对误差限. 7 改变如下计算公式,使其计算结果更为精确. 1) 0,cos 1≠-x xx 且1<<x 2) 1,1ln )1ln()1(ln 1>>--++=⎰+N N N N N xdx N N3) 1,133>>-+x x x8 (数值试验)试通过分析和数值试验两种手段,比较如下三种计算1-e 近似值算法的可靠性.算法1 ∑=--≈m n nn e 01!)1(; 算法2 101!1-=-⎪⎭⎫ ⎝⎛≈∑m n n e ; 算法3 101)!(1-=-⎪⎪⎭⎫ ⎝⎛-≈∑m n n m e ;9 (数值试验)设某应用问题归结为如下递推计算公式72.280=y ,251-=-n n y y , ,2,1=n 在计算时2取为具有5位有效数字的有效数*c . 试分析近似计算公式**1*5c y y n n -=-的绝对误差传播以及相对误差传播情况,并通过数值实验验证 (准确值可以用IEEE 双精度浮点运算结果代替),该算法可靠可用吗。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1979 9.李岳生,黄友谦.数值逼近.北京:人民教育出版社,1978 10.张宜华.精通 MATIAB 5.北京:清华大学出版社,1999 11.王沐然.MATLAB 5.X 与科学计算.北京:清华大学出版社,2000 12.徐士良.C 常用算法程序集(第二版).北京:清华大学出版社,1996
Ax b
i 2,3, , n
参考书目:
1. 武汉大学、山东大学计算数学教研室.计算方法.北京:人民教育出版社,
1979 2.李庆扬,关治,白峰杉.数值计算原理.北京:清华大学出版社,2000 3.易大义,沈云宝,李有法.计算方法.杭州:浙江大学出版社,1989 4.杨大地,谈骏渝.实用数值分析.重庆:重庆大学出版社,2000 5.蔡大用,白峰杉.现代科学计算.北京:科学出版社,2001 6.关治,陆金甫.数值分析基础.北京:高等教育出版社,1998 7.Richard L.Burden,J.Douglas Faires.NUMERICAL ANALYSIS(Seventh
*4.计算矩阵特征值问题的幂法 5.迭代法的加速
4
ቤተ መጻሕፍቲ ባይዱ
3
第四章 数值积分和数值微分
1.Newton-Cotes公式 2.复合求积法 3.Romberg算法 *4.Gauss求积法 5.数值微分
第五章 常微分方程的数值解法
1.引言
2.Runge-Kutta法
*3.线性多步法
4.常微分方程组和高阶微分方程简介
第六章 逐次逼近法
1.基本概念 2.线性方程组的迭代法 3.非线性方程组的迭代法
2
《数值计算》目录
第一章 引论
1.计算机数值方法的研究对象与特点
2.数值问题与数值方法
3.误差
第二章 解线性方程组的直接法
1.直接法与三角形方程组求解 2.Gauss消去法
3.Gauss列主元消去法 4.直接三角分解法 5.平方根法 6.追赶法
第三章 插值法和最小二乘法
1.插值法 2.插值多项式中的误差 3.分段插值法 4.Newton插值 5.Hermite插值 6.三次样条插值 7.数据拟合的最小二乘法