计算机模拟在数学建模中的应用

计算机模拟在数学建模中的应用

ID:5329919

大小:213.11 KB

页数:7页

时间:2017-12-08

计算机模拟在数学建模中的应用_第1页
计算机模拟在数学建模中的应用_第2页
计算机模拟在数学建模中的应用_第3页
计算机模拟在数学建模中的应用_第4页
计算机模拟在数学建模中的应用_第5页
资源描述:

《计算机模拟在数学建模中的应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、第22卷第1期海南大学学报自然科学版Vol.22No.12004年3月NATURALSCIENCEJOURNALOFHAINANUNIVERSITYMar.2004文章编号:1004-1729(2004)01-0089-07计算机模拟在数学建模中的应用欧宜贵,李志林,洪世煌(海南大学信息科学技术学院,海南海口570228)摘要:阐述了计算机模拟在数学建模中的作用,给出了蒙特卡洛方法和离散系统模拟方法实现的具体过程,并通过具体的实例分析,说明计算机模拟方法在数学建模中的有效性.关键词:计算机模拟;数学建模;蒙特卡洛方法;离散系统;Matlab6.0中图分类号:O141文献标识码:A1概述计算机

2、科学技术的迅猛发展,给许多学科带来了巨大的影响.计算机不但使问题的求解变得更加方便、快捷和精确,而且使得解决实际问题的领域更加广泛.计算机适合于解决那些规模大、难以解析化以及不确定的数学模型.例如对于一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用,这时模拟几乎成为人们的唯一的选择.在历届的美国和中国大学生的数学建模(MCM)中,学生们经常用到计算机模拟方法去求解、检验等.计算机模拟(computersimulation)是建模过程中较为重要的一类方法(见文献[1]).所谓计算机模拟,就是用计算机程序在计算机上模仿各种实际系统

3、的运行过程,并通过计算了解系统随时间变化的行为或特性.它是在已经建立起的数学、逻辑模型之上,通过计算机实验,对一个系统按照一定的决策原则或作业规则,由一个状态变换为另一个状态的行为进行描述和分析.计算机模拟实质上是计算机建模,而计算机模型就是计算机方法和理论(如程序、流程图、算法等),它是架于计算机理论和实际问题之间的桥梁.它与数学建模的关系如图1:一般说来,在下列情况中,计算机模拟能有效地解决问题.图1计算机模拟流程图1)难于用数学公式表示的系统,或者没有建立和求解数学模型的有效方法;收稿日期:2003-09-02基金项目:海南大学2002~2003年度教学研究项目/数学建模教育及对学生综

4、合能力培养的研究与实践0资助作者简介:欧宜贵(1965-),男,湖北钟祥人,海南大学信息科学技术学院副教授,博士.90海南大学学报自然科学版2004年2)虽然可以用解析的方法解决问题,但数学的分析与计算过于复杂,此时计算机模拟可能提供简单可行的求解方法;3)希望能在较短的时间内观察到系统发展的全过程,以估计某些参数对系统行为的影响;4)难以在实际环境中进行实验和观察时,计算机模拟是唯一可行的方法,例如太空飞行的研究;5)需要对系统或过程进行长期运行比较,从大量方案中寻找最优方案.计算机模拟是系统随时间变化而变化的动态写照,因此,在通常情况下,模拟是按时间来划分的.目前,计算机模拟大致可分成静

5、态模拟(staticsimulation)和动态模拟(dynamicsimulation).数值积分中的蒙特卡洛(MonteCarlo)方法是典型的静态模拟;动态模拟又分为连续系统模拟和离散系统模拟.下面将主要讨论数学建模竞赛活动中经常用到的MonteCarlo方法和离散系统的模拟方法.实际上,对连续系统的模拟,是将连续状态变量在时间上进行离散化处理,并由此模拟系统的运行状态.2MonteCarlo方法MonteCarlo方法是计算机模拟的基础,其历史源于1777年法国科学家蒲丰提出的一种计算圆周率P的方法)))随机投针法,即著名的蒲丰投针问题(见文献[2]).MonteCarlo方法的基本

6、思想是首先建立一个概率模型,使所求问题的解正好是该模型的参数或其他有关的特征量.然后通过模拟一统计,即多次随机抽样实验,统计出某事件发生的百分比.只要实验次数很大,该百分比便近似于事件发生的概率.这实际上就是概率的统计定义.MonteCarlo方法属于试验数学的一个分支.例如,为了对蒲丰投针问题进行模拟,我们先要建立如下的概率模型:设/X0是一随机变量,它服从区间[0,a/2]上的均匀分布.同理,U是服从区间[0,P]上的均匀分布.按照某种抽样法,产生随机变量的可能值,例如进行n次抽样,得到样本值(xi,Ui),li=1,2,,,n,统计出满足不等式:xi[sinUi的次数m(m

7、进行计算机模拟.2下面使用Matlab语言(见文献[3])来编程,这需建立一个M-文件:functionyy=simu(n,L,a)m=0;fork=1Bnx=unifrnd(0,a/2);y=unifrnd(0,pi);ifx<=0.5*L*sin(y)m=m+1;elseendendp=m/npim=1/p输入n,L,a,运行后,即可估算出概率p的估计值m/n.若选取LBa=1B2,我们还可得到P的近似值

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。