最新资料第1章 数学建模与误差分析Word文档格式.docx
《最新资料第1章 数学建模与误差分析Word文档格式.docx》由会员分享,可在线阅读,更多相关《最新资料第1章 数学建模与误差分析Word文档格式.docx(12页珍藏版)》请在冰豆网上搜索。
演绎是按照普遍原理考察特定对象,导出结论。
演绎利用严格的逻辑推理,对解释现象做出科学预见,具有重要意义,但是它要以归纳的结论作为公理化形式的前提,只有在这个前提下才能保证其正确性。
因此,归纳和演绎是辨证统一的过程:
归纳是演绎的基础,演绎是归纳的指导。
图1.2.1数学建模过程示意图图1.2.2数学模型求解方法示意图解释是把数学模型的解答“翻译”回到现实对象,给出分析、预报、决策或控制的结果。
最后作为这个过程重要的一个环节,这些结果需要用实际的信息加以验证。
图1.2.1也揭示了现实问题和数学建模的关系。
一方面,数学模型是将现实生活中的现象加以归纳、抽象的产物,它源于现实,又高于现实。
另一方面,只有当数学模型的结果经受住现实问题的检验时,才可以用来指导实际,完成实践理论实践这一循环。
1.2.2数学建模的一般步骤一般说来,建立模型需要经过哪几个步骤并没有一定的模式,通常与问题的性质和建模的目的等因素有关。
下面介绍建立数学模型的一般过程,如图1.2.3所示:
图1.2.3数学建模的一般步骤分析问题了解问题的实际背景,明确建模目的,搜集必要的信息,如数据和现象等,弄清楚所要研究对象的主要特征,形成一个比较清晰的“数学问题”。
提出假设根据现象的特征和建模的目的,抓住问题的本质、忽略次要因素,做出必要的、合理的、简化的假设,并且要在合理和简化之间做出恰当的折中。
通常,假设的依据一是处于对问题内在规律的认识,二是来自对现象、数据的分析,以及二者的结合。
建立模型根据所作的假设,用数学的语言、符号描述对象的内在规律,建立包含常量、变量等的数学模型,如优化模型、微分方程模型、差分方程模型、图论模型等。
在建模过程中要遵循尽量采用简单的数学工具这一原则,以便更多的人了解和使用。
模型求解可以采用解方程、画图形、优化方法、数值计算、统计分析等各种数学方法,特别是当前迅猛发展的数学软件和计算机技术。
解的分析对求解结果进行数学上的分析,如结果的误差分析、统计分析、模型对数据的灵敏性分析、对假设的强健性分析等。
检验和验证把求解和分析的结果翻译回到实际问题中,与实际的现象、数据比较,检验模型的合理性和适用性。
如果结果与实际不符,问题常常出现在模型假设上,此时应该修改、补充假设,重新建立模型和求解。
应用与推广应用的方式与问题性质、建模目的以及最终的结果有关。
应当指出的是,并不是所有问题的建模都要经过这些步骤,有时几个步骤之间的界限也不是那么分明,建模时不要拘泥于形式上的按部就班,要采用灵活的表述形式。
1.2.3数学建模的重要意义作为用数学方法解决实际问题的第一步,数学建模自然有着与数学同样悠久的历史。
进入20世纪以来,随着数学以空前的广度和深度向一切领域渗透,以及计算机的出现和飞速发展,数学建模越来越受到人们的重视,数学建模在现实世界中有着重要意义。
(1)在一般工程技术领域,数学建模仍然大有用武之地。
在以声、光、热、力、电这些物理学科为基础的诸如机械、电机、土木、水利等工程技术领域中,数学建模的普遍性和重要性不言而喻。
虽然这里的基本模型是已有的,但是由于新技术、新工艺的不断涌现,提出许多需要用数学方法解决的新问题;
高速、大型计算机的飞速发展,使得过去即便有了数学模型也无法求解的课题(如大型水坝的应力计算,中长期天气预报等)迎刃而解;
建立在数学模型和计算机模拟基础上的CAD技术,以其快速、经济、方便等优势,大量地替代了传统工程设计中的现场实验、物理模拟等手段。
(2)在高新技术领域,数学建模几乎是必不可少的工具。
无论是发展通讯、航天、微电子、自动化等高新技术本身,还是将高新技术用于传统工业区创造新工艺、开发新产品,计算机技术支持下的建模和模拟都是经常使用的有效手段。
数学建模、数值计算和计算机图形学等相结合形成的计算机软件,已经被固化于产品中,在许多高新技术领域起着核心作用,被认为是高新技术的特征之一。
在这个意义上,数学不仅仅作为一门科学,是许多技术的基础,而且直接走向了技术的前台。
有人认为“高技术本质上是一种数学技术”。
(3)数学迅速进入一些新领域,为数学建模开拓了许多新的处女地。
随着数学向诸如经济、人口、生态、地质等所谓非物理领域的渗透,一些交叉学科如计量经济学、人口控制论、数学生态学、数学地质学等应运而生。
当用数学方法研究许多领域中的定量关系时,数学建模就成为首要的、关键的步骤,同时也是这些学科发展与应用的基础。
在这些领域里建立不同类型、不同方法、不同深浅程度的模型的余地相当大,为数学建模提供了广阔的新天地。
马克思说过:
“一门科学只有成功地运用数学时,才算达到了完善的地步。
”展望21世纪,数学必将大踏步地进入所有学科,数学建模将迎来蓬勃发展的新时期。
美国科学院一位院士总结了将数学转化为生产力过程中的成功和失败,得出了“数学是一种关键的、普遍的、可以应用的技术”的结论,认为数学“由研究到工业领域的技术转化,对加强经济竞争力是有重要意义”,因而“计算和建模重新成为中心课题,它们是数学科学技术转化的主要途径”。
1.3数值方法与算法稳定性数值计算已成为科学研究的第三种基本手段。
所谓数值方法,是指将欲求解的数学模型(数学问题)简化成一系列算术运算和逻辑运算,以便在计算机上求出问题的数值解,并对算法的收敛性和误差进行分析、计算。
这里所说的“算法”,不只是单纯的数学公式,而且是指由基本的运算和运算顺序的规定所组成的整个解题方案和步骤。
一般可以通过框图(流程图)来直观地描述算法的全貌。
选定适合的算法是整个数值计算中非常重要的一环。
例如,当计算多项式的值时,若直接计算再逐项相加,共需做次乘法和次加法。
时需做55次乘法和10次加法。
若用著名秦九韶(我国宋朝数学家)算法,将多项式改成来计算时,只要做次乘法和次加法即可。
对于小型问题,计算速度的快慢和占用计算机内存的多寡似乎意义不大。
但对于复杂的大型问题而言,却是起着决定性作用。
算法取得不恰当,不仅影响到计算的速度和效率,还会由于计算机计算的近似性和误差的传播、积累直接影响到计算结果的精度,甚至直接影响到计算的成败。
不合适的算法会导致计算误差达到不能容许的地步,而使计算最终失败,这就是算法的数值稳定性问题。
数值计算过程中会出现各种误差,它们可分为两大类:
一类是由于算题者在工作中的粗心大意而产生的,例如笔误以及误用公式等,这类误差称为“过失误差”或“疏忽误差”。
它完全是人为造成的,只要工作中仔细、谨慎,是完全可以避免的;
而另一类为“非过失误差”,在数值计算中这往往是无法避免的,例如近似带来的误差、模型误差、观测误差、截断误差和舍入误差等。
对于“非过失误差”,应该设法尽量降低其数值,尤其要控制住经多次运算后误差的积累,以确保计算结果的精度。
下面是一个简单的例算,可以看出近似值带来的误差和算法的选择对计算结果所产生的巨大影响。
例1.3.1计算可用下面四种算式算出:
,。
如果不取近似,且计算过程没有误差,则上列四个算式的计算结果是相等的;
但是如果分别用近似值和按上列四种算式计算值,其结果如表1.3.1所示。
表1.3.1四个算式的计算结果序号算式计算结果12134由表1.3.1可见,按不同算式和近似值计算出的结果各不相同,有的甚至出现了负值,这真是差之毫厘,谬以千里。
可见近似值和算法的选定对计算结果的精确度影响很大。
因此,在研究算法的同时,还必须正确掌握误差的基本概念、误差在数值运算中的传播规律、误差分析的基本方法和算法的数值稳定性。
否则,一个合理的算法也可能会得出一个错误的结果。
衡量一个算法的好坏时,计算时间的多少是非常重要的一个标志。
由于实际的执行时间依赖于计算机的性能,因此所谓算法所花时间是用它执行的所有基本运算的总次数来衡量的。
这样时间与运算的次数直接联系起来了。
当然,即使用一个算法计算同一类型的问题时,由于各问题的数据不同,计算快慢也会不同,一般是用最坏情况下所花的时间来作讨论。
设输入数据的规模是(在网络问题中,一般与节点数及弧数有关,而对一般极值问题,往往与变量数及约束数有关)。
设在最坏情况下运算次数是,则称为算法的计算复杂性。
具有什么样的计算复杂性的算法被认为是好的呢?
目前计算机科学中广为接受的观点是:
多项式时间算法,即是关于的一个多项式,或者以一个多项式为上界的。
例如,等是好的算法;
而指数时间算法,即是关于的指数式或以一个指数式为下界的,例如等情况,则是坏的。
这个看法的依据是很明白的,因为当增大时,指数函数比多项式函数增长快。
1.4误差的种类及其来源数值计算中,除了可以避免的过失误差外,还有不少来源不同而又无法避免的非过失误差存在于数值计算过程中,主要有如下几种:
1.4.1模型误差在建模(建立数学模型)过程中,欲将复杂的物理现象抽象、归纳为数学模型,往往只得忽略一些次要因素的影响,而对问题作某些必要的简化。
这样建立起来的数学模型实际上必定只是所研究的复杂客观现象的一种近似的描述,它与真正客观存在的实际问题之间有一定的差别,这种误差称为“模型误差”。
1.4.2观测误差在建模和具体运算过程中所用到的一些初始数据往往都是通过人们实际观察、测量得来的,由于受到所用观测仪器、设备精度的限制,这些测得的数据都只能是近似的,即存在着误差,这种误差称为“观测误差”或“初值误差”。
1.4.3截断误差在不少数值运算中常遇到超越计算,如微分、积分和无穷级数求和等,它们需用极限或无穷过程来求得。
然而计算机却只能完成有限次算术运算和逻辑运算,因此需将解题过程化为一系列有限的算术运算和逻辑运算。
这样就要对某种无穷过程进行“截断”,即仅保留无穷过程的前段有限序列而舍弃它的后段。
这就带来了误差,称它为“截断误差”或“方法误差”。
例如,函数和可分别展开为如下的无穷幂级数:
(1.4.1)(1.4.2)若取级数的起始若干项的部分和作为函数值的近似,例如取(1.4.3)(1.4.4)则由于它们的第四项和以后各项都舍弃了,自然产生了误差。
这就是由于截断了无穷级数自第四项起的后段而产生的截断误差。
(1.4.3)和(1.4.4)的截断误差是很容易估算的,因为幂级数(1.4.1)和(1.4.2)都是交错级数,当时的各项的绝对值又都是递减的,因此,这时它们的截断误差可分别估计为:
和。
1.4.4舍入误差在数值计算过程中还会用到一些无穷小数,例如无理数和有理数中某些分数化出的无限循环小数,如由于受计算机机器字长的限制,它所能表示的数据只能有有限位数,这时就需把数据按四舍五入舍入成一定位数的近似有理数来代替。
由此引起的误差称为“舍入误差”或“凑整误差”。
综上所述,数值计算中除了可以完全避免的过失误差外,还存在难以避免的模型误差、观测误差、截断误差和舍入误差。
数学模型一旦建立,进入具体计算时所要考虑和分析的就是截断误差和舍入误差。
在计算机上经过千百次运算后所积累起来的总误差不容忽视,有时可能会大得惊人,甚至达到“淹没”欲求解真值的地步,而使计算结果失去根本意义。
因此,在讨论算法时,有必要对其截断误差的估算和舍入误差的控制作适当的分析。
1.5绝对误差和相对误差1.5.1绝对误差和绝对误差限定义1.5.1设某一个准确值(称为真值)为,其近似值为,则与的差(1.5.1)称为近似值的“绝对误差”,简称“误差”。
当时,称为亏近似值或弱近似值,反之则称为盈近似值或强近似值。
由于真值往往是未知或无法知道的,因此,的准确值(真值)也就无法求出。
但一般可估计此绝对误差的上限,即可以求出一个正值,使(1.5.2)此称为近似值的“绝对误差限”,简称“误差限”,或称“精度”。
有时也用(1.5.3)来表示(1.5.2)式,这时等式右端的两个数值和代表了所在范围的上、下限。
越小,表示该近似值的精度越高。
例1.5.1用有毫米刻度的尺测量不超过一米的长度。
读数方法如下:
如长度接近于毫米刻度,就读出该刻度数作为长度的近似值。
显然,这个近似值的绝对误差限就是半个毫米,则有(毫米)如果读出的长度是513毫米,则有(毫米)这样,虽仍不知准确长度是多少,但由(1.5.3)式可得到不等式:
这说明必在毫米区间内。
1.5.2相对误差和相对误差限用绝对误差还不能完全评价近似值的精确度。
例如测量10米的长度时产生1厘米的误差与测量1米的长度时产生1厘米的误差是大有区别的。
虽然两者的绝对误差相同,都是1厘米,但是由于所测量的长度要差十倍,显然前一种测量比后一种要精确得多。
这说明要评价一个近似值的精确度,除了要看其绝对误差的大小外,还必须考虑该量本身的大小,这就需要引进相对误差的概念。
定义1.5.2绝对误差与真值之比,即(1.5.4)称为近似值的“相对误差”。
在上例中,前一种测量的相对误差为,而后一种测量的相对误差则为,是前一种的十倍。
由(1.5.4)可见,相对误差可以从绝对误差求出。
反之,绝对误差也可由相对误差求出,其相互关系式为:
(1.5.5)相对误差不仅能表示出绝对误差来,而且在估计近似值运算结果的误差时,它比绝对误差更能反映出误差的特性,且相对误差是个纯数字,它没有量纲。
因此在误差分析中,相对误差比绝对误差更为重要。
相对误差也无法准确求出。
因为(1.5.4)中的和均无法准确求得。
也和绝对误差一样,可以估计它的大小范围,即可以找到一个正数,使(1.5.6)称为近似值的“相对误差限”。
例1.5.2称100千克重的东西若有1千克的误差和量100米长的东西有1米的误差,这两种测量的相对误差都是。
与此相反,由于绝对误差有量纲,上例中两种测量的绝对误差1千克和1米的量纲不同,两者就无法进行比较。
在实际计算中,由于真值总是无法知道的,因此往往取(1.5.7)作为相对误差的另一定义。
下面比较与之间的相差究竟有多大:
一般地,很小,不会超过。
这样不大于2,因此,上式右端是一高阶小量,可以忽略。
故可用来代替。
相对误差也可用百分数来表示:
这时称它为百分误差。
1.6误差的传播与估计1.6.1误差估计的一般公式在实际的数值计算中,参与运算的数据往往都是些近似值,带有误差,这些数据误差在多次运算过程中会进行传播,使计算结果产生误差,而确定计算结果所能达到的精度显然是十分重要的,但往往很困难。
不过,对计算误差作出一定的定量估计还是可以做到的。
下面利用函数泰勒(Taylor)展开式推出误差估计的一般公式。
考虑二元函数,设和分别是和的近似值,是函数值的近似值,且,函数在点处的泰勒展开式为:
式中,和一般都是小量值,如忽略高阶小量,则上式可简化为:
因此,的绝对误差为(1.6.1)式中,和前面的系数和分别是和对的绝对误差增长因子,它们分别表示绝对误差和经过传播后增大或缩小的倍数。
由(1.6.1)可得出的相对误差:
(1.6.2)式中,和前面的系数和分别是和对的相对误差增长因子,它们分别表示相对误差和经过传播后增大或缩小的倍数。
例1.6.1用电表测得一个电阻两端的电压和流过的电流范围分别为(伏特)和(安培),求这个电阻的阻值,并估算其绝对误差和相对误差。
解由欧姆定律,有可以求出R的近似值由(1.6.1)可计算的绝对误差:
令,;
将它们带入上式,即可估算出的绝对误差:
因此,的相对误差(1.6.1)和(1.6.2)可推广到更为一般的多元函数中,只要将函数在点处作泰勒展开,并略去其中的等小量的高阶项,即可得到函数的近似值的绝对误差和相对误差的估算式分别为:
(1.6.3)和(1.6.4)上两式中的各项和分别为各个对的绝对误差和相对误差的增长因子。
从(1.6.3)和(1.6.4)可知,误差增长因子的绝对值很大时,数据误差在运算中传播后,可能会造成结果的很大误差。
凡原始数据的微小变化可能引起结果的很大变化的这类问题,称为病态问题或坏条件问题。
1.6.2误差在算术运算中的传播可以利用(1.6.3)和(1.6.4)对算术运算中数据误差传播规律作具体分析。
(1)加减运算由(1.6.3)和(1.6.4)有(1.6.5)及(1.6.6)由(1.6.5)可知:
近似值之和的绝对误差等于各近似值绝对误差的代数和。
两数和相减,由(1.6.6)有即当,即大小接近的两个同号近似值相减时,由上式可知,这时可能会很大,说明计算结果的有效数字将严重丢失,计算精度很低。
因此在实际计算中,应尽量设法避开相近数的相减。
当实在无法避免时,可用变换计算公式的办法来解决。
例1.6.2当要计算,结果精确到第五位数字时,至少取到和这样才能达到具有五位有效数字的要求。
如果变换算式:
也能达到结果具有五位有效数字的要求,而这时和所需的有效位数只要五位,远比直接相减所需有效位数(八位)要少。
例1.6.3当很小时,如要求的值,可利用三角恒等式进行公式变换后再来计算。
同理,也可把展开成泰勒级数后,按来进行计算。
这两种算法都避开了两个相近数相减的不利情况。
(2)乘法运算由(1.6.3)及(1.6.4)有(1.6.7)和(1.6.8)因此,近似值之积的相对误差等于相乘各因子的相对误差的代数和。
当乘数的绝对值很大时,乘积的绝对值误差可能会很大,因此也应设法避免。
(3)除法运算由(1.6.3)及(1.6.4)有(1.6.9)和(1.6.10)由(1.6.10)可知,两近似值之商的相对误差等于被除数的相对误差与除数的相对误差之差。
又由(1.6.9)可知,当除数的绝对值很小,接近于零时,商的绝对误差可能会很大,甚至造成计算机的“溢出”错误,故应设法避免让绝对值太小的数作为除数。
(4)方及开方运算由(1.6.3)及(1.6.4)有(1.6.11)及(1.6.12)由(1.6.12)可知,乘方运算将使结果的相对误差增大为原值的(乘方的方次数)倍,降低了精度;
开方运算则使结果的相对误差缩小为原值的(为开方的方次数),精度得到提高。
综上分析可知,大小相近的同号数相减,乘数的绝对值很大,以及除数接近于零等,在数值计算中都应设法避免。
1.6.3算式误差实例分析应用上述误差估计的公式,可对例1.3.1中提出的各种算式作出误差估计和分析,从而可以比较出它们的优劣来。
结果见表1.6.1。
表1.6.1四种算式的误差比较表序号近似值真值绝对误差相对误差10.01420.0355=3.55%0.00095560.0355=21.3%2-0.995-0.995=-99.5%3-0.00245-0.00589=-0.589%-0.000182-60.00589=-3.53%4-0.0000255-0.0502=-0.502%习题11.下列各数都是对真值进行四舍五入后得到的近似值,试分别写出它们的绝对误差限,相对误差限和有效数字的位数:
(1)
(2)(3)(4)(5)2.如用级数来求的值,为使相对差,问至少需取几项?
3.用观测恒星的方法求得某地纬度(读到秒),问计算将有多大误差?
4.正方形的边长约为100厘米,问测量时误差最多只能到多少,才能保证面积的误差不超过1平方厘米?
5.已测得直角三角形的斜边毫米,一直角边毫米,如图所示。
试计算的近似值,并估算出其绝对误差和相对误差限。
6.已知,计算及,并求和的相对误差。
7.求方程的两个根,使它们至少具有四位有效数字(已知)。
8.设近似数的绝对误差为,当分别计算下列两式时,问误差对计算结果的影响如何?
(1),
(2)9.下列各题怎样计算才合理(即计算结果的精度高)?
(1)(四位函数表求三角函数值);
(2)(开方用六位函数表);
(3)(其中充分小);
(4)(其中N充分大);
10.下面计算的公式中,哪一个算得更准确些?
为什么?
(1)已知:
(a),(b);
(2)已知:
(a),(b);
(3)已知:
(4)已知:
11.设,计算:
算法
(1):
算法
(2):
试分析上述两种算法的好坏。
12.用四位尾数浮点数计算,要求分别按递增顺序和按递减顺序相加,所得结果不同,为什么?
哪个更接近真值?
世上没有一件工作不辛苦,没有一处人事不复杂。
不要随意发脾气,谁都不欠你的