求一篇2000字的论文,题目是“数值逼近在生活中的应用”
刚性微分方程存在于许多重要的科学技术领域和实际问题中,如航空、航天、热核反应、自动控制、电子网络、化学动力学等。由于方程的解既包含衰减非常迅速的分量,也包含相对变化缓慢的分量,两者之间的差异可以是几个数量级,这给计算方法的选择带来了很大的实质性困难。实践研究证明,由于数值解的稳定性限制,隐式方法主要用于求解刚性微分方程,如隐式RK法、BDF法、IRK法等。但刚性方程用隐式方法离散后,就变成了一个线性或非线性方程(组)的求解问题。目前,牛顿-拉夫逊迭代法常用于求解线性或非线性方程(组)。但是,对于一些非线性方程,由于方程之间的非线性差异很大,牛顿-拉夫逊迭代法的数值解并不理想。本文采用Brown算法求解这类非线性刚性系统,具有精度高、迭代速度快的优点。数值试验结果表明了该方法的有效性。
2布朗算法
考虑多个实变量的非线性方程
(2.1)
非线性方程可以用向量形式表示,其中。
形式为:的公式称为牛顿-拉夫逊迭代公式。因为这种方法是同时线性化,没有考虑充分利用的具体结构。如果一个非线性向量函数,它的线性精度在各个分量上的分布是不均衡的,那么有些分量是非线性函数,有些分量是线性函数,在非线性函数组中,非线性的程度也是有差别的。在这种情况下,用牛顿-拉夫逊迭代法处理所有数值完全相同的分量,不利于提高方法的整体计算效率。
针对上述情况,Brown在1969中提出了由分量构成的函数方程,形成一个迭代过程[3]。基本思想是将每个分量逐一线性化,用每个线性方程消去剩余非线性方程中的一个变量。最后,将整个方程组简化为一个只有一个变量的非线性方程,应用单步牛顿-拉夫逊迭代结合逐个迭代完成一个迭代过程[4]。
布朗算法的迭代步骤如下:
第一步,将方程组(2.1)的解设为第一次逼近,函数用线性函数逼近。
替代,订单,从中:
将上述公式的右端定义为。
第二步,为函数定义一个新的函数布朗算法,注意。类似地,使用线性函数来近似替代。排序,求解,
此时,它是变量的线性函数,这个线性函数写成。
步骤1,可以通过线性函数,通过牛顿-拉夫逊迭代得到,也可以从一个一个开始,即
(2.2)
因此,可以发现已经完成了一个布朗迭代过程。
3数值测试
考虑以下常微分方程的初值问题:
问题1
其中:;。
问题2
其中:;。
对于以上两个问题,当时可以计算出其右函数组的雅可比矩阵的特征值,其他特征值的绝对值不超过6,所以系统是强刚性的。另外,观察两个问题中的右函数组,可以看到除了最后一个函数是高度非线性的,其他函数都是线性的。
对于以上两个问题,采用隐式欧拉方法离散方程,分别采用牛顿-拉夫逊迭代法和布朗迭代法求解。用步长和相对误差界(表示迭代次数)控制每次迭代,最终得到数值解的最大绝对误差界。方程的真解是:问题1,,;问题2、、、。计算结果对比分析见表1。
表1数值计算结果
问题1
问题2
牛顿-拉夫森迭代次数
迭代18收敛时间
不收敛,
布朗迭代数
迭代7次收敛
8次迭代收敛
数值解的绝对误差
(牛顿-拉夫森迭代)
3.83e+001
溢出
数值解的绝对误差
(布朗迭代)
1.44e-002
3.82e-002
4.结束语
对于实际问题中的离散刚性系统,如果非线性方程组的线性化程度不同,布朗迭代法比牛顿-拉夫逊迭代法具有更大的优势。此外,需要指出的是,在实际操作中,应事先安排好方程组,先放线性方程组,再由低到高排列非线性度,这样可以有效提高操作效率。