数值与计算方法第1章绪论.ppt
1,数值计算方法,2,先修课程 高等代数、线性代数、一门编程语言开课情况 48学时,3学分。,3,教学安排,1.绪论2.非线性方程的数值解法3.线性方程组的数值解法4.函数逼近的插值法与曲线拟合法5.数值积分6.常微分方程数值解法7.矩阵特征值和特征向量的数值解法,4,第1章 绪论,利用计算机解决实际问题有三大步骤:建立模型计算问题的解(1.选择数值方法;2.编写程序)实验验证本课程的任务:讨论第步,即介绍计算机上的常用的数值方法,5,实际问题,数学模型,(数值)算法,编程,计算结果,抽象:“去伪存真,去粗取精”,(),(),(),6,总体设计(含模型的细化等)详细设计(主要是算法设计)实验验证其中包括:连续系统的离散化离散型方程的数值求解,以计算机为工具 求解各种数学模型需经历三个过程,7,计算方法 主要研究将数学模型变成数值问题,并研究求解数值问题的数值方法,进而设计数值算法。内容包括:基本概念介绍;误差及分析;收敛性、稳定性;算法复杂性等,8,计算数学的对象,计算数学是一门古老的数学 如计算圆周率、九章计算等;牛顿、莱布尼兹等提出的微分、积分计算;计算数学是一门年轻的数学 近代计算机的诞生,产生了数学的计算机计算.计算机与数学的关系非常密切 计算数学:计算机上的数学方法。或定义为:研究数值计算方法的设计、分析和有关理论基础与软件实现的一个数学分支。计算数学:计算方法或数值分析,9,科学理论、科学试验和科学计算(计算的方法)是现代科学的三个组成部分计算机下的科学计算大大地提高了计算速度和计算精度,是使原来不能实现的海量复杂计算成为现实科学计算是以计算机为基础的科学计算,其计算理论是计算数学计算数学的应用:天体物理、大气研究、分子生物、集成电路、天气预报、模式识别、网络信息搜索等计算数学的发展:进行高效率、高精度的并行计算,计算数学的应用与发展,10,为什么要学习计算方法这门课?,利用计算机求解实际问题的核心过程,非常重要。虽然已有大量数值算法的软件包,但需要我们了解算法设计的原理,以便更好地应用。随着计算机的应用越来越广泛,计算问题越来越复杂,规模越来越大,现成的数值方法软件包不能满足特定需要,如数字图像处理、天气预报、Web搜索。,11,用计算机求解,需要首先将数学模型转换为数值问题,然后研究求解数值问题的数值算法。,12,(1)数值问题,数值问题:,输入数据与输出数据之间函数关系的一个确定而无歧义的描述。,即:,输入与输出的都是数值的数学问题,如求解线性方程组,求解二次方程,都是数值问题,13,求解微分方程,是不是数值问题?,将其变成数值问题,即将其“离散化”,“离散化”是将非数值问题的数学模型化为数值问题的主要方法,这也是计算方法的任务之一,14,(2)数值方法,数值方法:是指解数值问题的 在计算机上可执行的系列计算公式。,在计算机上可执行的公式是指只含有加减乘除的公式。,现在的计算机中几乎都含有关于开方的标准函数sqrt(),常见的在计算机上不能直接运行的计算有:,开方、极限、超越函数、微分、积分等等。,要在计算机上实行上述运算需将其化为可执行的等价或近似等价运算。,15,1.如求根公式,2.应化为公式,16,1.1数学问题的数值解法例示,例试求函数方程x=cosx在区间 内的一个根。解,17,注:【零点定理】设函数f(x)在闭区间a,b上连续,且f(a)与 f(b)异号(即f(a)f(b)0),那么在开区间(a,b)内至少有函数f(x)的一个零点,即至少有一点(ab)使f()=0。,18,1.1数学问题的数值解法例示,19,简单迭代法:取初值:x0=0.75迭代得:x1=0.731688868,x2=0.744047084 x42=0.739085133,x43=0.739085133牛顿迭代法:取初值:x0=0.75迭代得:x1=0.739111138,x2=0.739085133 x3=0.739085133,比较:两种方法同样获得9位数字的近似解,简单迭代法需要迭代43次,牛顿迭代法迭代3次。,20,21,22,注释,1.牛顿-莱布尼兹公式,2.数值解:在特定条件下通过近似计算,(如有限元的方法,数值逼近,插值的方法)得出来的一个数值。解析解:解析解为该函数的解析式。,23,例1.2.3 求 Ax=b,Det(A)0,A=(aij)20 20解:1.用Cramar法则求解,总计算量 N=(n+1)(n-1)n!+n)flop当n=20,N9.7 1020 flop.以一台10亿/秒的计算机需约3万年.,结论:分析算法的效率,选择算法非常重要,解:2.使用Gauss消去法,n=20,N3060 flop=O(n3/3)flop.,24,注释:Cramer法则,设线性方程组简记 AX=b,25,其中,26,27,28,29,现取h=0.05,其结果见下表:,30,1.2 误差概念和有效数,在任何科学计算中其解的精确性总是相对的,而误差则是绝对的.我们从下面这个例子就可以了解误差产生的原因.例1.2.1 试求摆长为L的单摆运动周期.,31,32,33,34,35,实际问题,数学模型,(数值)算法,编程,计算结果,抽象,模型误差,观测误差,截断误差,舍入误差,36,误差的分类,模型误差:从实际问题建立的数学模型往往都忽略了许多次要的因素,因此产生的误差称为模型误差.观测误差:一般数学问题包含若干参数,他们是通过观测得到的,受观测方式、仪器精度以及外部观测条件等多种因素,不可能获得精确值,由此而来产生的误差称为观测误差。,37,截断误差:在求解过程中,往往以近似替代,化繁为简,这样产生的误差称为截断误差。舍入误差:在计算机上运算时受机器字长的限制,一般必须进行舍入,此时产生的误差称为舍入误差。,38,误差和有效数字,39,绝对误差 是为了衡量x*的精度高低,比较直观,但无法衡量精度的好坏。而相对误差(也成百分比误差),衡量好坏更合理。,40,误差估计,由于准确值在一般情况下是未知的,因此绝对误差和相对误差常常是无法计算的,但有可能给出估计。误差界就是用于误差估计的。,41,误差估计,42,43,有效数字,在工程上,误差的概念就转化为有效数字。,44,45,例:求1.3824具有几位有效数字?,46,绝对误差,相对误差,有效数是度量近似数精度的常用三种。实际计算时最终结果均以有效数给出。同时也就隐含了绝对误差和相对误差界。,47,48,函数值的误差估计,引入微分符号,49,50,51,1.2.3 函数值的误差估计,52,53,54,55,56,多元函数误差估计,57,58,例题,59,60,61,1.3算法的优化,算法优劣的标准从截断误差观点看,算法必须是截断误差小,收敛敛速要快。即运算量小,机器用时少.从舍入误差观点看,舍入误差在计算过程中要能控制,即算法的数值要稳定.从实现算法的观点看,算法的逻辑结构不宜太复杂,便于程序编制和上机实现.,62,设计算法时应遵循的原则要有数值要稳定性,即能控制误差的传播.避免大数吃小数,即两数相加时,防止较小的数加不到较大的数上.避免两相近的数相减,以免有效数字的大量丢失.避免分母很小(或乘法因子很大),以免产生溢出.,63,例题,64,65,66,67,68,算法二表明,仅用不多的五次函数值的计算,已获得的具有五位有效数字的近似值。,69,70,71,72,73,74,理论上成立的算法,在计算机上机算时,由于初值的误差在计算过程中的传播,而导致结果的失真。这正是我们数值计算方法所要研究的内容之一。,