当前位置:智城范文网>范文大全 > 征文 > 浅谈数学软件对计算数学的重要性

浅谈数学软件对计算数学的重要性

时间:2022-03-22 10:50:47 来源:网友投稿

摘要: 本文主要探讨数学软件在计算数学的数值计算中重要性,并介绍数学软件是如何实现经典算法及对算法的改进。最后,说明数学软件在数值模拟中的应用。

Abstract: This article mainly discusses the importance of mathematical software for the numerical calculation in computational mathematics and introduces the implementation for classical algorithms and the improvement for the algorithm by mathematics software. Finally, the applications of mathematical software in the numerical calculation is illustrated.

关键词: 数学软件;计算数学;数值模拟

Key words: mathematical software;computational mathematics;numerical simulation

中图分类号:G434文献标识码:A文章编号:1006-4311(2014)23-0250-02

0引言

计算数学也叫做数值计算方法或数值分析,主要内容包括代数方程、线性代数方程组、微分方程的数值解法,函数的数值逼近问题,矩阵特征值的求法,最优化计算问题,概率统计计算问题等等,还包括解的存在性、唯一性、收敛性和误差分析等理论问题。计算数学的重要性日益显现。现代的科学技术发展都离不开大量的数值计算问题。比如,发射一颗探测宇宙奥秘的卫星,从卫星世纪开始到发射、回收为止,科学家和工程技术人员、工人就要对卫星的总体、部件进行全面的设计和生产,要对选用的火箭进行设计和生产,都有许许多多的数据要进行计算。

1计算数学必备的基础

除了掌握数学专业必修的基础课程:高等代数、数学分析、空间解析几何和概率论语数理统计、常微分方程之外,计算数学还应该掌握泛函分析,数学物理方程,矩阵分析,C语言程序设计等,更需要有数值分析、差分法、有限元法统称的偏微分方程数值解法。

2数值模拟及其重要性

数值模拟也叫计算机模拟。依靠电子计算机,结合有限元或有限容积技术,通过数值计算和图像显示的方法,达到对工程问题和物理问题乃至自然界各类问题探究。

数值模拟技术诞生于1953年Bruce和Peaceman等对一维气相不稳定径向和线形流的模拟。受当时计算机能力及解法限制,数值模拟技术只是初步应用于解一维单相流问题。1954年,West和Garvin等模拟了油藏不稳定两相流。

数值模拟包含以下几个步骤:

①首先要建立反映问题(工程问题、物理问题等)本质的数学模型, 即建立反映问题各量之间的微分方程及相应的定解条件,这是数值模拟的出发点。

②数学模型建立之后,需要解决的问题是寻求高效率、高准确度的计算方法。由于人们的努力,目前已发展了许多数值计算方法。计算方法不仅包括微分方程的离散化方法及求解方法,还包括贴体坐标的建立,边界条件的处理等。这些过去被人们忽略或回避的问题,现在受到越来越多的重视和研究。

③在确定了计算方法和坐标系后,开始编制程序和进行计算。由于求解的问题比较复杂,比如方程就是一个非线性的十分复杂的方程,它的数值求解方法在理论上不够完善,所以需要通过实验来加以验证。正是在这个意义上讲,数值模拟又叫数值试验。这部分工作是数值模拟的重点。实践表明这一部分工作是整个数值模拟的主体,占绝大部分时间。

④在计算工作完成后,大量数据只能通过图像形象地显示出来。因此,数值的图像显示也是一项十分重要的工作。

3基于数学软件Matlab的数值算法实现

下面通过2个数值例子说明数学软件Matlab[1]在学习数值分析和差分方法上方便快捷和有效性

算例1[2] 比较分别采用二次插值和三次样条插值以及分段线性插值在求解下面问题,并考虑各插值方法的误差及算法效率问题。

求x=0.45,0.55,0.61,0.78,0.82,0.94的近似解。

一种是利用插值公式,建立M文件,构造出插值多项式,然后对所求的点带入求解。

这种方式针对Matlab初学者比较适用,一方面熟悉Matlab编程计算环境,联系编写M文件,为以后编写复杂的算法做准备。

第二种是直接调用Matlab软件自带的函数命令,yi=interp1(X, Y, xi, method)。

其中X是已知自变量,Y是已知函数值,xi待求节点自变量,method可为一次插值’linear’,二次插值’square’,三次插值’cubic’,样条插值’spline’。

在Matlab命令框输入以下命令

X=[0.4 0.5 0.6 0.7 0.8 0.9];%注意这两行命令是输入已知数据条件

Y=[-0.9163 -0.6931 -0.5108 -0.3567 -0.2233 -0.1054];

Xs=[0.450.550.610.780.820.94];%需求节点值

Y1=interp1(X, Y, xs, "linear");%线性插值所得的函数值

Y2=interp1(X, Y, xs, "square");%二次插值所得函数值

Y3=interp1(X, Y, xs, "cubic");%三次插值所得函数值

Ys=interp1(X, Y, xs, "spline");%三次样条插值所得函数值

通过运行得到表2所示结果。

其真解为:-0.7985 -0.5978 -0.4943 -0.2485 -0.1985-0.0619

Xz=[X, Xs]

plot(Xz,Y1,’k-’,Xz,Y2,’k*’,Xz,Y3,’k<’,Xz,Ys,’k>’,Xz,Yz,’r’)

根据得到的计算结果我们分析其结果,会发现一次插值和三次插值的误差较大,并不是插值多项式的阶数越高,精度越高。

同时我们可以分析其偏差,利用下述代码计算

Error_21=sum(sqrt((Y1-Yz).^2));%一次插值的误差

Error_22=sum(sqrt((Y2-Yz).^2));%二次插值的误差

Error_23=sum(sqrt((Y3-Yz).^2));%三次插值的误差

Error_2s=sum(sqrt((Ys-Yz).^2));%三次样条次插值的误差

椭圆型方程有着重要的现实意义。比如,带有扩散的两物质自催化反应模型,带有非单调反应函数的两种群食饵-捕食模型,带有扩散的三种群周期互惠模型,带有扩散的三种群周期竞争模型本算例选取最简单的计算方法五点差分法求解椭圆方程问题。采用Matlab编程实现此计算方法的数值模拟。由于篇幅限制,本文仅例举出一维的带界面的椭圆方程的算例。这里求解的问题是椭圆方程在定义域内有不连续点的情形。 若问题采用五点差分格式计算椭圆偏微分方程边值问题,就可以转化为解含间断节点的椭圆边值问题,即构造改进五点差分格式算法去求解带界面的椭圆问题。由于篇幅限制仅列出一维问题的算例。

算例 2[3] -(βux)x+κu=f+Cδ(x-α)+δ′(x-α)

x∈Ω\a,Ω=[0,1],α点处函数的左右极限及导数都不相等。并且满足跳跃值为[u]=u+-u-=,[βux]=β+u-β-u。

下面利用Matlab给出了改进的中心差分格式的算法实现,解决单个跳跃或者多个跳跃的问题。改进程序主要分为以下几个板块(a)初始化变量;(b)特殊单元差分格式的求解;(c)系数矩阵的求解;(d)线性方程组求解及误差求解(e)数据输出及可视化。若将[0,1]分为10等分求解分片二次多项式的问题,则得到的误差是机器误差。数值模拟及误差分布结果参看图2。其中图1(1)是一个间断点的数值解和真解的比较,图1(2)一个间断点数值解的绝对误差,图1(3)是两个间断点的数值解和真解的比较,图1(4)两个间断点数值解的绝对误差。我们发现模拟结果相当好,也验证了一维的浸入界面方法的精度为2阶精度。

通过 Matlab 软件实现了不连续问题的一维椭圆问题的求解。也可以实现很多基于经典数值方法的改进,求解更多复杂问题。用 Matlab 软件的编程容易实现可视化效果。基本实现了对计算数学的数值模拟的实现。当然这里只是举出2个简单的算例。

4总结

本文主要探讨了数学软件Matlab在计算数学的数值模拟中的重要性。并用两个数值例子说明了数学软件在数值模拟的有效性和可靠性。这将对有志从事科学计算的研究人员有一定的引导和帮助作用。

参考文献:

[1]Bruce G H, Peaceman D W, Rachford H H, Rice J D. Calculations of unsteady-state gas flow trough porous media[J]. Transactions, American Institute of Mining and Metallurgical Engineers, 198 (1953): 79-91.

[2]West W J, Garvin W W, Sheldon J W. Solution of the equations of unsteady-state two-phase flow in oil reservoirs[J]. Transactions, Ame,rican Institute of Mining and Metallurgical Engineers, 201(1954): 217-229.

[3]王沫然.Matlab与科学计算[M].北京:电子工业出版社, 2004.

[4]李庆扬,王能超,易大义.数值分析[M].北京:清华大学出版社,2010.

[5]LeVeque R J, Li Z L. The immersed interface method for elliptic equations with discontinuous coefficients and singular sources[J]. SIAM Journal on Numerical Analysis, 1994, 31(4): 1019-1044.

推荐访问: 数学 浅谈 重要性 计算 软件

版权所有:智城范文网 2010-2025 未经授权禁止复制或建立镜像[智城范文网]所有资源完全免费共享

Powered by 智城范文网 © All Rights Reserved.。粤ICP备20058421号