数值计算方法
- 格式:docx
- 大小:12.53 KB
- 文档页数:1
Matlab中常用的数值计算方法数值计算是现代科学和工程领域中的一个重要问题。
Matlab是一种用于数值计算和科学计算的高级编程语言和环境,具有强大的数值计算功能。
本文将介绍Matlab中常用的数值计算方法,包括数值积分、数值解微分方程、非线性方程求解和线性方程组求解等。
一、数值积分数值积分是通过数值方法来近似计算函数的定积分。
在Matlab中,常用的数值积分函数是'quad'和'quadl'。
'quad'函数可以用于计算定积分,而'quadl'函数可以用于计算无穷积分。
下面是一个使用'quad'函数计算定积分的例子。
假设我们想计算函数f(x) = x^2在区间[0, 1]上的定积分。
我们可以使用如下的Matlab代码:```f = @(x) x^2;integral = quad(f, 0, 1);disp(integral);```运行这段代码后,我们可以得到定积分的近似值,即1/3。
二、数值解微分方程微分方程是描述自然界各种变化规律的数学方程。
在科学研究和工程应用中,常常需要求解微分方程的数值解。
在Matlab中,可以使用'ode45'函数来求解常微分方程的数值解。
'ode45'函数是采用基于Runge-Kutta方法的一种数值解法。
下面是一个使用'ode45'函数求解常微分方程的例子。
假设我们想求解一阶常微分方程dy/dx = 2*x,初始条件为y(0) = 1。
我们可以使用如下的Matlab代码:```fun = @(x, y) 2*x;[x, y] = ode45(fun, [0, 1], 1);plot(x, y);```运行这段代码后,我们可以得到微分方程的数值解,并绘制其图像。
三、非线性方程求解非线性方程是指方程中包含非线性项的方程。
在很多实际问题中,我们需要求解非线性方程的根。
数值计算方法在科学中的应用数值计算是一种解决科学问题的方法,用计算机运算代替传统的手工计算,可以大大提高计算效率和精度。
数值计算方法在科学研究中广泛应用,比如在物理学、天文学、化学、地球科学等领域,数值模拟和计算都是重要的工具。
本文将介绍数值计算方法的主要应用场景和实际案例。
一、物理学物理学是研究物质世界的基础科学,数值计算在物理学研究中的应用也是相当广泛的。
其中,数学物理是一种将数学方法应用于物理问题求解的交叉学科。
在数学物理中,常用的数值计算方法包括有限差分、有限元和谱方法等。
这些方法能够模拟各种物理问题,比如电磁场、流体力学、热传导等。
例如,在天文学中计算行星的轨道,就可以通过一系列数值计算方法建立一个数学模型来模拟。
以此类推,在自然科学的各个领域,数值计算都有着广泛的应用。
二、化学化学中的数值计算主要是求解分子间的相互作用力和化学反应动力学等问题。
其中,分子动力学模拟方法是一种常用的数值计算方法。
这种方法能够模拟分子在不同温度和压力下的行为,还可以预测分子在溶液和气态中的反应和扩散行为。
这种方法可以应用于材料、环境和生物等领域。
比方说,在药物研究中,科学家可以通过计算反应动力学来预测药物分子与分子目标的相互作用及其效果。
这种方法有着非常广泛的应用价值。
三、地球科学地球科学是研究地球内部和表面各物质的结构、属性、变化及其相互关系的一门综合科学,涉及了地球对于人类的许多方面,比如自然灾害、资源开发和环境保护等。
数值计算在地球科学中的应用主要体现在以下几个方面:地球物理学、地质学和地球化学,研究对象主要有构造、震源、地震波传播、地表和地下地震反演等问题。
针对这些问题,科学家们开发了一些数值计算方法,比如地震波传播的有限差分法和声波方程方法等。
这些方法可以帮助人们更好地了解地球的内部结构,预测地震、火山爆发等自然灾害,并优化资源开发和环境保护。
四、生物学生物学是研究生命现象的科学,其中不仅有动植物的研究,也有人体生物医学的应用等。
数值计算方法教案第一章:数值计算概述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.要有好的计算复杂性,时间复杂性好是指节省时间,空间复杂性好是指节省存储量,这也是建立算法要研究的问题,它关系到算法能否在计算机上实现。
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原理有限元方法最早应用于结构力学,后来随着计算机的发展慢慢用于流体力学、土力学的数值模拟。
在有限元方法中,把计算域离散剖分为有限个互不重叠且相互连接的单元,在每个单元内选择基函数,用单元基函数的线形组合来逼近单元中的真解,整个计算域上总体的基函数可以看为由每个单元基函数组成的,则整个计算域内的解可以看作是由所有单元上的近似解构成。
数值计算方法第一章(总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.知道四则运算中的误差传播公式。
实用文档三例题例 1 设x*= =3.1415926⋯近似值 x=3.14 = 0.314× 101,即 m=1,它的绝对误差是- 0.001 592 6 ,⋯有即 n=3,故 x=3.14 有 3 位有效数字 .x=3.14准确到小数点后第 2 位 .又近似值 x=3.1416,它的绝对误差是0.0000074 ⋯,有即 m=1,n= 5, x=3.1416 有 5 位有效数字 .而近似值x=3.1415,它的绝对误差是0.0000926 ⋯,有即 m=1,n= 4, x=3.1415 有 4 位有效数字 .这就是说某数有s 位数,若末位数字是四舍五入得到的,那么该数有s 位有效数字;例 2指出下列各数具有几位有效数字,及其绝对误差限和相对误差限:2.000 4-0.002 009 0009 000.00解因为 x1=2.000 4= 0.200 04× 101, 它的绝对误差限 0.000 05=0.5 × 10 1―5,即m=1,n=5, 故 x=2.000 4 有 5 位有效数字 . a1=2,相对误差限x2=- 0.002 00,绝对误差限0.000 005,因为 m=-2,n=3 ,x2=- 0.002 00 有 3 位有效数字 . a1=2 ,相对误差限r ==0.002 5实用文档x3=9 000 ,绝对误差限为0.5× 100,因为 m=4, n=4, x3=9 000 有 4 位有效数字, a=9 ,相对误差限r== 0.000 056x4=9 000.00 ,绝对误差限0.005,因为 m=4, n=6, x4=9 000.00 有 6 位有效数字,相对误差限为r== 0.000 000 56由 x3与 x4可以看到小数点之后的0,不是可有可无的,它是有实际意义的.例 3 ln2=0.69314718⋯,精确到10-3的近似值是多少?解精确到 10-3= 0.001,意旨两个近似值x1,x2满足,由于近似值都是四舍五入得到的,要求满足,近似值的绝对误差限应是=0.0005,故至少要保留小数点后三位才可以。
数值计算方法
数值计算方法是微分方程,常微分方程,线性方程组的求解。
数值计算方法,是一种研究并解决数学问题的数值近似解方法,是在计算机上使用的解数学问题的方法,简称计算方法。
计算方法的计算对象是微积分,线性代数,常微分方程中的数学问题。
内容包括:插值和拟合、数值微分和数值积分、求解线性方程组的直接法和迭代法、计算矩阵特征值和特征向量和常微分方程数值解等问题。
计算方法既有数学类课程中理论上的抽象性和严谨性,又有实用性和实验性的技术特征,计算方法是一门理论性和实践性都很强的学科。