将数值分析应用到数学建模上 前言 为了满足科技发展对科学研究和工程技术人员用数学理论解决实际的能力的要求,讨论了数值分析在数学建模中的应用。数值分析不仅应用模型求解的过程中,它对模型的建立也具有较强的指导性。研究数值分析中插值拟合,解线性方程组,数值积分等方法在模型建立、求解以及误差分析中的应用,使数值分析作为一种工具更好的解决实际问题。 数值分析主要介绍现代科学计算中常用的数值计算方法及其基本原理,研究并解决数值问题的近似解,是数学理论与计算机和实际问题的有机结合[1]。随着科学技术的迅速发展,运用数学方法解决科学研究和工程技术领域中的实际问题,已经得到普遍重视。数学建模是数值分析联系实际的桥梁。在数学建模过程中,无论是模型的建立还是模型的求解都要用到数值分析课程中所涉及的算法,如插值方法、最小二乘法、拟合法等,那么如何在数学建模中正确的应用数值分析内容,就成了解决实际问题的关键。 一、数值分析在模型建立中的应用 在实际中,许多问题所研究的变量都是离散的形式,所建立的模型也是离散的。例如,对经济进行动态的分析时,一般总是根据一些计划的周期期末的指标值判断某经济计划执行的如何。有些实际问题即可建立连续模型,也可建立离散模型,但在研究中,并不能时时刻刻统计它,而是在某些特定时刻获得统计数据。例如,人口普查统计是一个时段的人口增长量,通过这个时段人口数量变化规律建立离散模型来预测未来人口。另一方面,对常见的微分方程、积分方程为了求解,往往需要将连续模型转化成离散模型。将连续模型转化成离散模型,最常用的方法就是建立差分方程。 以非负整数 表示时间,记 为变量 在时刻 的取值,则称 为 的一阶差分,称 为 的二阶差分。类似课求出 的 阶差分 。由 , ,及 的差分给出的方程称为差分方程[2]。例如在研究节食与运动模型时,发现人们往往采取节食与运动方式消耗体内存储的脂肪,引起体重下降,达到减肥目的。通常制定减肥计划以周为时间单位比较方便,所以采用差分方程模型进行讨论。记第 周末体重为 ,第 周吸收热量为 ,热量转换系数 ,代谢消耗系数 ,在不考虑运动情况下体重变化的模型为 [2], ,增加运动时只需将 改为 , 由运动的形式和时间决定。 此外,在研究经济变化趋势,人口增长等问题时,都要按照一定的周期建立差分模型。这样,连续模型就通过数值分析中研究的对象——差分方程,转化成离散模型,简化了求解过程。 二、数值分析在模型求解中的应用 插值法和拟合法在模型求解中的应用 1、1)拟合法求解 在数学建模中,我们常常建立了模型,也测量了(或收集了)一些已知数据,但是模型中的某些参数是未知的,此时需要利用已知数据去确定有关参数,这个过程通常通过数据拟合来完成。最小二乘法是数据拟合的基本方法。其基本思想就是:寻找最适合的模型参数,使得由模型给出的计算数据与已知数据的整体误差最小。 假设已建立了数学模型 ,其中, 是模型参数。已有一组已知数据 , ,…, ,用最小二乘确定参数 ,使 最小。函数 称为数据 的最小二乘拟合函数。如果模型函数 具有足够的可微性,则可用微分方程法解出 。最合适的 应满足必要条件 。 2)插值法求解 在实际问题中,我们经常会遇到求经验公式的问题,即不知道某函数 的具体表达式,只能通过实验测量得到该函数在一些点的函数值,即已知一部分精确的函数值数据 , ,…, 。要求一个函数 , , (2) 这就是插值问题。函数 称为 的插值函数。 称为插值节点,式(2)称为插值条件[2]。多项式插值是最常用的插值方法,在工程计算中样条插值是非常重要的方法。 2、模型求解中的解线性方程组问题 在线性规划模型的求解过程中,常遇到线性方程组求解问题。线性方程组求解是科学计算中用的最多的,很多计算问题都归结为解线性方程组,利用计算机求解线性方程组的方法是直接法和迭代法。直接法基本思想是将线性方程组转化为便于求解的三角线性方程组,再求三角线性方程组,理论上直接在有限步内求得方程的精确解,但由于数值运算有舍入误差,因此实际计算求出的解仍然是近似解,仍需对解进行误差分析。直接法不适用求解 的线性方程组,因此当 时,可以采用迭代法进行求解。 迭代法先要构造迭代公式,它与方程求根迭代法相似,可将线性方程组改写成便于迭代的形式。迭代计算公式简单,易于编制计算程序,通常都用于解大型稀疏线性方程组。求解线性方程组的一般设计思想如下,假设建立一个线性规划模型 其中 , , ,即 ,可将 改写为迭代的形式 并由此构造迭代法 其中 ,称为迭代矩阵。将 按不同方式分解,就得到不同的迭代矩阵 ,也就的带不同的迭代法,例如Jacobi迭代法 [5]、高斯-赛德尔迭代法[5]、超松弛迭代法等。 由于计算过程中有舍入误差,为防止误差增大,就要求所使用的迭代法具有稳定性,即迭代收敛,收敛速度越快,误差越小。若 中, <1,则认为此迭代法收敛。超松弛迭代法是利用松弛技术加快收敛的典型,它有重要的实际价值,但必须选择较佳的松弛因子,虽有求最佳松弛因子的理论公式,但通常还要依赖于实际经验。 3、数值积分在模型求解中的应用 模型求解过程中可能遇到积分求解问题,用求积公式 ,使定积分计算变得简单,但在实际应用中很多被积函数找不到用解析时表示的原函数,例如 ,或者即使找到表达式也极其复杂。另外,当被积函数是列函数,其原函数没有意义,因此又将计算积分归结为积函数值的加权平均值。 假设 ,则积分的计算公式[5]为 ,称其为机械求积公式,其中 ( )称为求积节点, 与 无关,称为求积系数或权数,机械求积公式是将计算积分归结为计算节点函数值的加权平均,即取 得到的。由于这类公式计算极其便捷,是计算机计算积分的主要方法,构造机械求积公式就转化为求参数 及 的代数问题。 4、数值分析在求解微分方程中的应用 在数学建模中,所建立的模型很多时候是常微分方程或者偏微分方程,这些方程求解析解是很困难的,而且即使能够求得解析解,由于所用数据的误差得到的解也是近似值,所以大部分情况下会采取数值的方法进行求解。例如在常微分方程求解中,将原方程离散后,用迭代的方法求解;在偏微分方程的求解中,常常利用有限差分方法和有限元方法对方程进行离散,进而求得方程的数值解。 四、误差分析 误差分析使数学建模的结果更加准确。数学模型与实际问题之间出现的误差称为模型误差。在数学模型中往往包含了若干参变量,这些量往往是通过观察得到的,因此也带来了误差,这种误差称为观察误差[4]。这些误差是不可避免的,所以我们只能在模型建立和模型求解中避免误差扩大。目前已经提出的误差分析方法有向前误差分析法与向后误差分析,区间分析法,及概率分析,但在实际误差估计中均不可行。不能定量的估计误差,因此在建模过程中更着重误差的定性分析,也就是算法的稳定性分析。 一个算法如果原始数据有误差,而计算过程舍入误差不增长,则称此算法是数值稳定的,否则,若误差增长,则称算法是不稳定的。在误差分析中,首先要分清问题是否病态和算法是否稳定,计算时还要尽量避免误差危害。为了防止有效数字的损失,应该注意下面若干原则:一是避免用绝对值小的数作除数;二是避免数值接近相等的两个近似值相减,这样会导致有效数字严重损失;三是注意运算次序,防止“大数”吃“小数”,如多个数相加减,应按照绝对值由小到大的次序运算;四是简化步骤,减少算术运算的次数。 五、结论 随着电子计算机的迅速发展、普及以及新型数值软件的不断开发,数值分析的理论和方法无论是在高科技领域还是在传统学科领域,其作用和影响都越来越大,实际上它已成为科学工作者和工程技术人员必备的知识和工具,所以把数值分析的知识正确的应用到数学建模中去不仅是一种趋势,更是用数学的理论解决实际问题的关键。 参考文献: [1]郑慧娆,陈绍林,莫忠息,等.数值计算方法[M].武汉:武汉大学出版社,2002. [2]陈东彦,李冬梅,王树忠.数学建模[M].北京:科学出版社,2007. [3]姜启源,等.数学模型[M].北京:高等教育出版社,2003. [4]李庆扬,王能超,易大义.数值分析[M].4版.北京:清华大学出版社, 2001. [5]李庆扬.科学计算方法基础[M].4版.北京:清华大学出版社, 2005.
|