数值计算方法数学与信息科学系汪远征.ppt
数值计算方法 数学与信息科学系 汪远征,绪 言,1.1 为什么要学习数值分析1.2 如何学习数值分析1.3 数值分析研究的对象与特点,绪 言,1.1 为什么要学习数值分析现实世界的问题可以归结为各种各样的数学问题 方程求根问题 解线性方程组的问题 定积分问题 常微分方程初值问题等等,1.方程求根问题在科学计算中常要遇到求解各种方程,对于高次代数方程,由代数基本定理知多项式根的个数和方程的阶相同,但对超越方程就复杂的多,如果有解,其解可能是一个或几个,也可能是无穷多个。例如:高次代数方程 x5 3x7=0超越方程 e-x cosx=0看似简单,但难求其精确解。,2.解线性方程组的问题由线性代数知识可知:当线性方程组Ax=b的系数矩阵A非奇异(即detA0)时,方程组有唯一解,可用克莱默法则求解,但它只适合于n很小的情况,而完全不适合于高次方程组。如用克莱默法则求解一个n阶方程组,要算n+1个n阶行列式的值,总共需要n!(n-1)(n+1)次乘法。当n充分大时,计算量是相当惊人的:一个20阶不算太大的方程组,大约要做1021次乘法,这项计算即使每秒1万亿次浮点数乘法计算的计算机去做,也要连续工作2000万亿年才能完成。当然这是完全没有实际意义的,故需要寻找有效算法,3.定积分问题由微积分知识知,定积分的计算可以使用牛顿莱布尼兹公式:其中F(x)为被积函数f(x)的原函数。为何要进行数值积分?,原因之一:许多形式上很简单的函数,例如等,它们的原函数不能用初等函数表示成有限形式。原因之二:有些被积函数的原函数过于复杂,计算不便。例如的一个原函数是,原因之三:f(x)以离散数据点形式给出:,4.常微分方程初值问题对一些典型的微分方程,如可分离变量方程、一阶线性方程等,有可能找出它们的一般解表达式,然后用初始条件确定表达式中的任意常数,这样即能确定解。但是对于常微分方程初值问题:则无法求出一般解,1.2 如何学习数值分析1.注意掌握各种方法的基本原理2.注意各种方法的构造手法3.重视各种方法的误差分析4.做一定量的习题5.注意与实际问题相联系,1.3 数值分析研究的对象与特点1.数值分析研究的对象数值分析实质上是以数学问题为研究对象,不像纯数学那样只研究数学本身的理论,而是把理论与计算紧密结合,着重研究数学问题的数值方法及理论。数值分析是计算数学的一个主要部分,计算数学是数学科学的一个分支,它研究用计算机求解各种数学问题的数值计算方法及其理论与软件实现。,2.数值分析的特点数值分析具有的特点,概括起来有四点。(1)面向计算机,要根据计算机特点提供实际可行的有效算法。即算法只能包括加、减、乘、除运算和逻辑运算,是计算机能直接处理的。(2)有可靠的理论分析,能任意逼近并达到精度要求,对近似算法要保证收敛性和数值稳定性,还要对误差进行分析。这都建立在相应数学理论的基础上。,2.数值分析的特点数值分析具有的特点,概括起来有四点。(3)要有好的计算复杂性,时间复杂性好是指节省时间,空间复杂性好是指节省存储量,这也是建立算法要研究的问题,它关系到算法能否在计算机上实现。(4)要有数值实验,即任何一个算法除了从理论上要满足上述三点外,还要通过数值实验证明是行之有效的。,1.4 数值分析研究的基本概念1.数学模型实际问题经抽象、简化而产生的一组解析表达式或原始数据。,2.数值问题输入数据与输出数据之间函数关系的一个确定而无歧义的描述。例:求二次方程ax2+bx+c=0的根,可算作一个数值问题。注:数学模型并不都是数值问题,如:常微分方程:就不是一个数值问题,其解为函数y=x2+3x。要将常微分方程的求解问题变成数值问题,需要进行“离散化”:将求函数转换为求函数值:y(x1),y(x2),y(xn),0 x1 x2xn=a.,3.数值方法求解数值问题的计算机上可以执行的系列计算公式。计算机上可执行的计算公式有:四则运算、逻辑运算、标准函数。注:计算公式不都属于数值方法,如积分、求极限运算等。,4.数值算法指有步骤地完成解数值问题的过程,数值方法是它的前提和基础,它是数值方法的具体化。具备以下四个特性:(1)目的性:给出输入数据和输出数据的明确的规定与要求。(2)确定性:必须精确地给出每一步的操作定义,不允许有歧义。(3)可执行性:每个操作都是可以执行的。(4)有穷性:必须在有限步内能够结束。,5.算法设计的目的(1)寻找能达到“数值问题”要求的计算精度的数值方法可靠性(2)提高计算速度和减少存储空间计算复杂性好(3)为程序设计做好准备,