数值分析(Numerical Analysis)是研究分析用计算机求解各种数学问题的数值计算方法及其理论的学科。 数值分析具有构造性、近似性、数值化结果的特点, 是计算数学的一个主要部分。
数值分析的历史源远流长,自有数学以来就有关于数值计算方面的研究。公元前2000年,古代巴比伦人就有了关于 二次方程 求解的研究, 中国 古代数学家 刘徽 利用割圆术求得 圆周率 π的近似值,而后 祖冲之 求得圆周率π的高精度值,这都是数值计算方面的杰出成就。 19至20世纪初,数值分析得到了快速发展。 高斯 (Carl Friedrich Gauss) 的 最小二乘法 在 天文学 中找到了应用,也成为了 统计学 和数值线性代数的基石。 20世纪中叶以后, 约翰·冯·诺依曼 (John von Neumann)和 艾伦·麦席森·图灵 ( Turing )合力定义了 计算机 软、硬件。冯·诺依曼于1947年在《美国数学学会公报》发表了数值 代数 研究的首篇文章《高阶矩阵数值求逆》,提到了截断误差的相关内容。同年11月,在图灵发表的文章《矩阵过程中的舍入误差 》中,同样也提到了利用计算机进行矩阵计算中出现的舍入误差问题。 后来,数值分析的理论与方法在解决数值问题的长期实践过程中逐步形成和发展起来,随着科学技术的发展与进步,人们提出了越来越多的复杂的数值计算问题。
数值分析的基本概念是容许误差,涵盖模型误差、观测误差、截断误差、舍入误差及离散误差等类型。 其基本方法分为直接法、迭代法及离散化方法三大类,包括高斯消去法、雅可比迭代法、有限元法等, 常用的分析工具包括MATLAB、Python及Excel等。 数值分析的主要内容包括计算函数值、求解 方程 组、数学规划、 数值积分 、数值方程、解决特征值或奇异值问题等。 数值分析在现实世界中应用广泛,例如在 水利工程 领域,通过双变量误差分析,可以有效评估模型的实际应用能力,来保证设计的模型能够满足工程活动的需求等。
学科简介
数值分析(Numerical Analysis)是研究分析用计算机求解各种数学问题的数值计算方法及其理论的学科,是计算数学的一个主要部分。数值分析一方面可使微积分、 代数 与几何、随机数学中的原理得以应用,方法得以实现,另一方面,可为数学问题的建模和求解提供思路。 数值分析具有以下特点:
(1)构造性。数值分析以构造性方法为基础。近代的数值方法都是为使用计算机而提出的,因此要求方法指明如何具体去构造数学问题的解,即要求给出解题的可程序化的具体步骤与过程,直到给出问题的答案。
(2)近似性。由工程科学中提出来的数学问题,绝大多数都无法求出解的精确值。数值解法主要是研究各种近似解。
(3)数值化结果。数值方法不同于经典的解析方法,最后的结果不是解析解而是数值解,且都是通过 计算机 得到的,因此,数值方法是建立在离散的基础上的。
简史
古代
数值分析的历史发展较长,自从有数学以来就有关于数值计算方面的研究。公元前2000年,古代 巴比伦 人就有了关于 二次方程 求解的研究。在 中国 ,古代数学家 刘徽 利用割圆术求得 圆周率 π的近似值,后 祖冲之 求得圆周率π的高精度值等,都是数值计算方面的实际应用。
近代
19至20世纪初,数值分析的发展较为迅速。如 高斯 (Carl Friedrich Gauss)的 最小二乘法 ,不仅在 天文学 中找到了应用,也成为了 统计学 和数值线性代数的基石。同时,科学和工程问题的复杂化,导致对数值方法的需求日益增加,且极大地促进了 数理统计学 的发展。
20世纪中叶以后, 约翰·冯·诺依曼 (John von Neumann)和 艾伦·麦席森·图灵 ( Turing )一起定义了 计算机 软、硬件。1947年,冯·诺依曼在《美国数学学会公报》(Bulletin of the American Mathematical Society)中发表了数值 代数 研究的首篇文章《高阶矩阵数值求逆》(Numerical Inverting of Matrices of High Order),其中提到了截断误差的相关内容。同年11月,图灵( 图灵机器人 )在《力学与应用数学季刊》发表的文章《矩阵过程中的 舍入误差 》,同样也提到了利用 计算机 进行矩阵计算中出现的舍入误差问题。 1972年,国际商用机器公司(IBM)设立全国科学院 应用数学 与数值分析奖(National Academy of Sciences Award in Applied 数学 and Numerical Analysis),用于奖励在应用数学与数值分析领域做出突出贡献的学者。 后数值分析的理论与方法在解决数值问题的长期实践过程中逐步形成和发展起来,随着科学技术的发展与进步,人们提出了越来越多的复杂的数值计算问题。
基本概念
误差
数值分析的基本概念是容许误差。数值分析表示在误差容许的范围内对某一数学问题进行近似计算,然后得到能满足要求的近似结果。因此,研究数值方法,要注重误差的分析,分析误差的来源,误差的传播情况以及对计算结果给出合理的误差估计。
类型
(1)模型误差:用 数学模型 来描述具体的物理现象要作许多的简化,即数学模型本身就包含着误差,因此数学模型是对实际问题的一种近似表达,这种数学模型与实际问题的差异叫做模型误差。
(2)观测误差:在数学模型中通常总要包含一些观测数据,这种观测结果不会是绝对准确的,因此还有观测误差。
(3)截断误差:在解实际问题时,数学模型往往很复杂,因而不易获得分析解,这就需要建立一套行之有效的近似方法或数值方法。模型的准确解与用数值方法求得的准确解之差称为截断误差。
(4) 舍入误差 : 计算机 做数值计算时,由于计算机的字长有限,原始数据在计算机上表示时会产生误差,且计算过程又可能产生新的误差,这种误差称为舍入误差。
(5)离散误差:离散误差是由于连续体被 离散化 模型所代替并进行近似计算所带来的。引起离散误差的主要原因是,在一般情况下仅用具有有限个自由度的离散模型所假设的单元位移函数不可能精确表达连续体真实的位移场。
误差定性分析
(1)算法的 数值稳定性 :用一个算法进行计算,如果初始数据误差(由 舍入误差 造成的)在计算中传播使计算结果误差增长很快,则称该算法是数值不稳定的,否则称其是数值稳定的。
(2)病态数学问题:病态则是数学问题即 数学模型 本身的性质,与算法无关。病态数学问题是指这样的问题:当输入数据有微小 摄动 时,会引起解的大扰动;相反的问题为 良态 数学问题。因为实现算法时总有舍入误差,所以对于病态数学问题,用任何算法求数值解都是不稳定的。但是,良态数学问题的算法未必是数值稳定的。
(3) 条件数 :病态和良态是相对的,界限比较模糊,病态越严重,对算法稳定性的影响越大,通常用条件数来衡量问题的病态程度,条件数越大病态可能越严重。
避免误差的原则
数值计算中首先要分清问题是否病态和算法是否数值稳定,计算时还应尽量避免误差危害,防止 有效数字 的损失,下面给出若干原则:
(1)避免两相近的数相减;
(2)注意简化计算步骤,减少运算次数;
(3)要避免用 绝对值 很小的数作除数;
(4)两数相加要防止大数“吃”掉 小数 。
基本方法
直接法
直接法就是不计 舍入误差 ,经过有限步 四则运算 ,求出 方程组 精确解的方法。例如:高斯消去法、列 主元 消去法、LU分解法、平方根法、追赶法等。但实际计算中由于舍入误差的存在和影响,这种方法也只能求得 线性方程组 的近似解,这类方法是解低阶稠密矩阵方程组及某些大型稀疏方程组(如大型带状方程组)的有效方法。
高斯消去法
高斯消去法分为消元过程和回代过程, 是一种规则化的加减消元法。高斯消去法的基本思想是通过逐次消元计算把需求解的线性方程组转化成上三角形方程组,也就是把线性方程组的系数矩阵转化为上 三角矩阵 ,从而使一般线性方程组的求解转化为等价的上三角形方程组的求解。
迭代法
迭代法是指从某一猜测值出发,按某种手续构造求近似解的序列,逐步逼近 方程组 的精确解。例如:雅可比迭代法、高斯-赛德尔迭代法、逐次超松弛迭代法等。迭代法具有需要 计算机 的存贮单元较少、 程序设计 简单、原始系数矩阵在计算过程中始终不变等优点,但存在收敛性及 收敛速度 问题。迭代法是解大型稀疏方程组(尤其是由 微分方程 离散后得到的大型方程组)的重要方法。
雅可比迭代法
解线性代数 方程 组 。将系数矩阵 分解为下列形式 ,其中 为 对角线 矩阵, 和 分别是对角线元素为零的下三角和上三角矩阵。用 代替矩阵 ,可改写为 ,当矩阵 的对角元素非零时,可建立迭代公式 , ,写成矩阵形式 , ,该式即称为 卡尔·雅可比 迭代。
高斯-赛德尔迭代法
雅可比迭代在计算 时,只使用 , ,因此有比较好的并行性。它需要同时存贮 和 。如果使用雅可比迭代公式,从第 个 方程 计算 时,立即用前 个 方程 计算出来的 代替 不仅可以节省一组存贮单元,而且还有可能加快迭代公式的 收敛速度 。这就是高斯-赛德尔迭代,简称赛德尔迭代。
离散化
离散化就是把无限空间中有限的个体通过 映射 放到有限的空间中去,以此来提高算法的时空效率臼,是在有限个体原始数据相对大小不变的情况下,按比例进行缩小后来建立相应的模型。离散化的应用在 程序设计 中非常普遍,在诸多可能的情况下,离散化只需考虑要使用到的值。这就大大简化了实验,同时也有效地降低了 计算机 处理过程中的时间复杂度。离散化可以提高一个算法的质量,而且有可能实现原本不会实现的某些算法。
有限差分法
有限差分法 建模简单,编程相对容易,是数值解法中发展时间较长,相对较为完善的一种离散方法。有限差分法不需要构造特定的函数,便能够将原来复杂的 偏微分方程 问题直接转换为 代数 问题的求解。其差分过程是先将需要求解的空间区域划分为大量的网格,然后根据特定的几何形状来选择适当的划分方式。划分网格后,用有限个网格上的节点代替原来连续的求解域,选用适当的差商形式,把原本 偏微分 方程 中的 偏导数 项全部用差商表示出来,再经过一些处理就能得到对应的差分方程。
有限元法
有限元法是将空间里一个连续的求解域,划分为多个合适大小、形状的单元,分别在每个单元上构造 插值 函数,再对这些插值函数使用相应的 极值 原理,然后在这些所有的微小单元上都能找到一个特定的有限元方程,最后用这些有限元方程把初始问题的控制方程所代替。有限元法具有处理问题的过程较慢,占用 内存 较大等缺点,但在求解椭圆型问题时,有较好的适应性。
基本工具
数值分析领域中,不同的工具和 编程语言 提供了多样化的方法和库,以支持各种 数学模型 和算法的实现。从工程计算到数据分析,每种工具都有其独特的优势和用途,常见的工具有 MATLAB 、 Python 、 Microsoft Excel 、 SPSS Clementine 及 tableau 等。
MATLAB
MATLAB是 迈斯沃克 公司开发的一种语言,它是为满足工程计算的要求应运而生的,MATLAB集数值运算、符号运算和图像 可视化 三大基本功能于一体,具有功能强大、操作简单的特点,是数值分析的一个常用工具。在数值分析中,MATLAB具有较强的数值计算和模拟能力,如牛顿 插值 的MATLAB实现、 约瑟夫·拉格朗日 插值的MATLAB实现等。
Python
Python 是一种面向对象的、解释性的、通用性的、开源的脚本 编程语言 ,具有语法简单、可读性强、易学易用、开源性及封装性强等特点。在数值计算领域,Python语言多用于 人工智能 、 机器学习 方面, 且 MATLAB 中大部分常用的功能都可以在Python中找到对应的扩展库,如在利用 数值微分 、三次样条插值和 数值积分 等方法对相关问题进行建模后,需利用Python的第三方扩展库来解决实际问题。
Excel
Microsoft Excel (电子表格)是一种应用软件,它以二维表格作为基本的操作界面提供给用户,用户通过在表格中输入数据,而由软件自动完成计算、统计、分析、制表及绘图等功能,同时电子表格还具有数据库处理功能。 在数值分析领域,除常用数值分析工具外,Excel也具有基本的数值分析功能,如在Excel表格中输入表达式并赋予各参量数值, 计算机 可以快速准确地完成计算。
基本内容
计算函数的值
插值
从实际需要出发,如果对于计算结果允许有一定的误差,就可以把(考察的)问题的函数关系用一个简单的便于计算和处理的近似表达式来代替,从而使问题得到简化。人们往往用构造的方法得到近似表达式(函数)。 插值法就是建立这种近似表达式的一种基本方法。插值法在现代的数值分析中,起到了重要作用, 常见的插值公式包括 约瑟夫·拉格朗日 插值公式、牛顿插值公式及 埃尔米特插值 公式等, 且在机械制造、 土木工程 、电子设备等工程实际,以及诸多学科的理论分析中有广泛的应用。
外推
外推算法实质上是逐步逼近,在数值和 应用科学 中,人们经常需要考虑各种类型的序列: 标量 、 向量 、 四元数 、矩阵,以及最近的 张量 ,这些序列可以收敛或发散。当它们收敛时,它们的收敛性可能如此缓慢以至于它们的实际用途非常有限。在某些情况下,可以通过修改过程来构建它们,但在其他情况下,这个过程是一个 黑盒 ,无法访问。然后,一种可能的方法是将这些序列转换为另一种类型,希望它们能够更快地收敛到同一限制,这种序列转换背后的想法就是外推。 外推算法可适用于以步长为特点的各类问题,求解函数值时,外推法可在不增加函数值计算的前提下,使数值解的截断误差的阶增高,在提高计算精度的同时,大大减少计算量。
回归
回归分析 是研究相关关系的一种数学工具,它能帮助实现从一个变量取得的值去估计另一变量所取的值, 既可以用于探索和检验自变量与因变量之间的因果关系, 也可以基于自变量的取值变化来预测因变量的取值,还可以用于描述自变量和因变量之间的关系。回归的优点在于它可以通过统计操作手段来对干扰因素加以控制,从而帮助人们发现自变量和因变量之间的净关系,且回归已经成为 社会科学 定量研究 方法中应用较为广泛的一种数据分析技术。
求解方程组
在 自然科学 和 工程技术 中很多问题的解决常常归结为解线性代数方程组,例如 电学 中的网络问题,船体数学 放样 中建立三次 样条函数 问题,用 最小二乘法 求 实验数据 的 曲线拟合 问题,解非线性方程组问题,用差分法或者有限元方法解 常微分方程 、 偏微分方程 边值问题 等都导致求解线性代数方程组,而这些方程组的系数矩阵大致分为两种,一种是低阶稠密矩阵,另一种是大型 稀疏矩阵 。 线性方程组 的数值解法一般包含直接法和迭代法两种类型,常见的方法包括 牛顿法 、直接分解法、幂法与反幂法等。
解决特征值或奇异值问题
特征值问题
数学中诸如方阵的对角化及解 导数 方程 组等问题,都要用到特征值的理论,其具有广泛的应用背景。 在数值分析中,许多数值方法都可以用来求解特征值问题,如有限差分方法、有限元方法、谱方法等。
幂法
在有些问题中只需要求出矩阵的按模最大的特征值(称为 的主特征值)和相应的特征向量, 幂法就是一种计算矩阵主特征值(矩阵按模最大的特征值)及对应特征向量的迭代方法,适用于大型 稀疏矩阵 等。
反幂法
反幂法用来计算矩阵按模最小的特征值及其特征向量的迭代算法,也可用来计算对应于一个给定近似特征值的特征向量。
雅可比方法
雅可比迭代法是用某种极限过程去逼近 线性方程组 精确解的方法,即从某一个 初始向量 出发,按一定的迭代格式产生一个 , , , ,使其收敛到 的精确解。
QR算法
QR算法可用来求任意实的 非奇异矩阵 的全部特征值,是目前计算这类问题最有效的方法之一。QR算法及其理论比较复杂,要用到镜面反射矩阵(Householder)、矩阵的 正交 三角分解( )、矩阵的Hessenberg型以及任何实方阵可通过正交相似变换化为Hessenberg型等。
奇异值分解
奇异值分解 则是 特征分解 在任意矩阵上的推广。定义矩阵的奇异值,对 ,记 的特征值为 , 的特征值为 ,可以通过计算得到 , 称为 的奇异值。
数学规划
数学规划的研究对象是数值最优化问题, 其涉及优化问题的建模和求解,目标是在给定约束条件下最小化或最大化一个目标函数,凡有关安排、调度、组织、筹划、控制等类问题都是数学规划的研究对象。数值分析中的数据逼近、方程组求解等问题都会涉及数学规划的内容, 且它还是经济计量学,经济管理学不可缺少的数学工具。 数学规划的主要分支包括: 线性规划 、 非线性规划 、整数规划及 动态规划 。 在数值分析中,数学规划主要的应用方法包括:插值法、外推法等。
数值积分
数值积分也叫数值求积,术语“求积”的本意是“求与某个平面图形有相同面积的正方形的边长”,是对定积分的值进行数值逼近,用来求定积分近似值的方法。如考虑定积分 ,用易于积分的简单函数来逼近曲线 ,简单曲线下面的面积近似等于 下面的面积。近似面积可通过曲线的分段逼近和轴之间的 梯形 面积相加来计算。
数值方程
数值方程指的是用量值中的数值符号所给出的数值之间的定量关系式。在给出数值方程时,必须注明所用数值符号所对应的单位。由于所用单位不同,必然导致数值方程出现不同的系数。数值方程等号左右均为数而不存在 量纲 ,也不要求所代表的量间有相同的量纲。 在数值分析中,处理数值方程的主要方法包括:迭代法、 牛顿法 及雅可比法等。
应用
工程学
在 现代工程 建设和锅炉制造领域,数值计算和模拟技术的应用展现了它们在解决实际问题中的关键作用。 如在 水利工程 领域,曼宁公式应用较为广泛,虽然在实际应用中存在 测量精度 的挑战,但通过双变量误差分析,可以有效评估模型的实际应用能力,来保证设计的模型能够满足工程活动的需求等。 另外,在锅炉制造运行的各阶段,数值模拟技术能够深入分析锅炉内的流场变化等,如通过模拟锅炉启动过程中的温度场变化的应力变化情况来合理设定启动温度曲线延长在役锅炉使用寿命的寿命控制模拟计算;通过对锅炉运行过程中温度场模拟计算来分析部件失效原因的质量事故数值模拟分析等。这些技术的应用不仅提高了制造的精度和效率,还显著增强了在役设备的性能和安全性,延长了使用寿命。
建筑学
在建筑学领域中,数值模拟分析和数值计算也被广泛应用。如在建筑 钢结构 中,装配式波纹 钢结构 作为一种高效率、高质量、高寿命、绿色环保的施工技术,近年来在地下 涵洞 、明洞、 隧道等领域得到了广泛应用,采用数值模拟分析的方法,建立有限元模型,能够有效分析 螺栓 数目及波纹钢板厚度对搭接接头破坏模式和抗弯承载能力的影响机理,可为接头强度校核提供依据。 不仅如此,数值分析在室内建筑方面也有一定的应用,如通过 ansys 对建筑室内自然通风情况进行模拟,对相关 建筑结构 进行参数化建模,并设置四组顶部通风口对比参照风况,将建立好的模型导入ANSYS软件中,用有限元方法分析不同风况下建筑的能源数值变化情况,可以更好地探寻适合该建筑达到自然通风效果的方案,进一步做到节能减排。
材料学
随着对 复合材料 细微结构的进一步研究和 计算机 技术的迅速发展,诸多学者致力于研究复合材料高速侵彻的有限元数值模型。如纤维增强复合材料具有质量轻、强度高等优点,在航空领域应用广泛,建立有限元冲击模型,可以更好地解决层板高速冲击问题,优化飞机结构,提高飞机安全飞行等。 另外,针对CFRP在高温、 高湿等恶劣工况下使用,导致材料的力学性能降低,甚至材料失效等情况,通过 abaqus 计算软件对干态和湿热老化后的断裂纤维尖端周围的纵向脱粘行为进行研究,建立有限元模型,可以更好地理解各种力学性能参数对纤维/ 基体 界面的纵向脱粘行为以及湿热对单向CFRP纵向拉伸破坏的影响。
医学
在医学领域中,数值模拟分析多用于骨创伤方面。在 内踝 骨折 的治疗方面,针对内踝骨折所应用的分型主要为Herscovici等,其中Herscovici B型及C型骨折作为最常见的内踝骨折类型在临床上主要采取手术治疗的方式,应用有限元分析法对模型进行参数设定以及载荷施加,分析骨折端 应力 、位移及内置物应力及位移等情况,可以探究不同内固定方式及不同置入角度固定Herscovici B型及C型内踝骨折的 生物力学 稳定性,对临床治疗内踝骨折具有一定参考意义。 另外在椎管治疗方面,构建椎管重建内固定术的有限元模型,可精确逼真地模拟椎体和椎间盘,还能将周围的肌肉和韧带直接或间接的加入到模型中,使模型更加符合人体真实生理状态。其次, 有限元分析 方法还可赋予各种组织材料不同属性,来模拟 腰椎 力学环境,分析椎管重建内固定术对 脊柱 稳定性的影响,进一步验证椎管重建内固定术在椎管内手术中的有效性和可靠性。