计算机模拟在数学建模中的应用
- 格式:doc
- 大小:1.03 MB
- 文档页数:10
数学建模常用方法建模常用算法,仅供参考:1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法)2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用M a t l a b作为工具)3、线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用L i n d o、L i n g o软件实现)4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备)5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中)6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用)7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具)8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的)9、数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用)10、图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用M a t l a b进行处理)一、在数学建模中常用的方法:1.类比法2.二分法3.量纲分析法4.差分法5.变分法6.图论法7.层次分析法8.数据拟合法9.回归分析法10.数学规划(线性规划、非线性规划、整数规划、动态规划、目标规划)11.机理分析12.排队方法13.对策方法14.决策方法15.模糊评判方法、16.时间序列方法17.灰色理论方法18.现代优化算法(禁忌搜索算法、模拟退火算法、遗传算法、神经网络)二、用这些方法可以解下列一些模型:优化模型、微分方程模型、统计模型、概率模型、图论模型、决策模型。
数学建模常用方法建模常用算法,仅供参考:1、蒙特卡罗算法(该算法又称随机性模拟算法,是通过计算机仿真来解决问题的算法,同时可以通过模拟可以来检验自己模型的正确性,是比赛时必用的方法)2、数据拟合、参数估计、插值等数据处理算法(比赛中通常会遇到大量的数据需要处理,而处理数据的关键就在于这些算法,通常使用M a t l a b作为工具)3、线性规划、整数规划、多元规划、二次规划等规划类问题(建模竞赛大多数问题属于最优化问题,很多时候这些问题可以用数学规划算法来描述,通常使用L i n d o、L i n g o软件实现)4、图论算法(这类算法可以分为很多种,包括最短路、网络流、二分图等算法,涉及到图论的问题可以用这些方法解决,需要认真准备)5、动态规划、回溯搜索、分治算法、分支定界等计算机算法(这些算法是算法设计中比较常用的方法,很多场合可以用到竞赛中)6、最优化理论的三大非经典算法:模拟退火法、神经网络、遗传算法(这些问题是用来解决一些较困难的最优化问题的算法,对于有些问题非常有帮助,但是算法的实现比较困难,需慎重使用)7、网格算法和穷举法(网格算法和穷举法都是暴力搜索最优点的算法,在很多竞赛题中有应用,当重点讨论模型本身而轻视算法的时候,可以使用这种暴力方案,最好使用一些高级语言作为编程工具)8、一些连续离散化方法(很多问题都是实际来的,数据可以是连续的,而计算机只认的是离散的数据,因此将其离散化后进行差分代替微分、求和代替积分等思想是非常重要的)9、数值分析算法(如果在比赛中采用高级语言进行编程的话,那一些数值分析中常用的算法比如方程组求解、矩阵运算、函数积分等算法就需要额外编写库函数进行调用)10、图象处理算法(赛题中有一类问题与图形有关,即使与图形无关,论文中也应该要不乏图片的,这些图形如何展示以及如何处理就是需要解决的问题,通常使用M a t l a b进行处理)一、在数学建模中常用的方法:1.类比法2.二分法3.量纲分析法4.差分法5.变分法6.图论法7.层次分析法8.数据拟合法9.回归分析法10.数学规划(线性规划、非线性规划、整数规划、动态规划、目标规划)11.机理分析12.排队方法13.对策方法14.决策方法15.模糊评判方法、16.时间序列方法17.灰色理论方法18.现代优化算法(禁忌搜索算法、模拟退火算法、遗传算法、神经网络)二、用这些方法可以解下列一些模型:优化模型、微分方程模型、统计模型、概率模型、图论模型、决策模型。
数学建模计算机模拟数学建模和计算机模拟是现代科学研究的重要手段,它们可以帮助研究人员理解和解决各种实际问题。
本文将详细介绍数学建模和计算机模拟的概念、应用领域以及其在科学研究中的重要性。
数学建模是指利用数学方法和技术对实际问题进行形式化描述和分析的过程。
它包括问题的抽象、模型的建立、求解方法的选择和结果的验证等步骤。
数学建模的关键在于将实际问题抽象为数学模型,通过模型可以描述问题的关键因素、相互作用以及变化规律。
常见的数学模型包括方程、函数、图论、概率统计等。
数学建模的目的是通过数学模型的分析和求解,得到问题的解析解或近似解,进而对问题进行预测、优化或决策。
计算机模拟是指利用计算机技术模拟和重现实际问题的过程。
它通过建立数学模型和运用数值计算方法,将问题转化为计算机可以处理的形式,并通过计算机进行仿真和模拟。
计算机模拟可以模拟实际问题在各种条件下的演化和变化过程,从而得到问题的数值解或近似解。
计算机模拟的核心在于模型的数值计算和结果的可视化,通过对计算结果的分析和展示,可以提供对问题的理解和判断。
数学建模和计算机模拟在许多领域都有广泛的应用。
在物理学中,数学建模和计算机模拟可以用于描述和研究物质的结构、运动和相互作用,从而揭示物理规律和原理。
在生物学中,数学建模和计算机模拟可以用于研究生物系统的动力学、遗传变异和生态相互作用,为生物学研究提供理论基础和实验设计。
在工程学中,数学建模和计算机模拟可以用于设计和优化工程系统的结构和性能,提高工程设计的效率和可靠性。
数学建模和计算机模拟对科学研究具有重要的意义。
首先,它们可以帮助研究人员理解和解释实验数据和观测现象,在不同尺度上揭示问题的内在规律。
其次,它们可以用于预测和模拟实际问题的发展和变化趋势,为决策和规划提供科学依据。
再次,它们可以用于优化问题的解决方案,提高系统性能和效率。
最后,它们可以用于验证和评估理论模型和假设,从而推进科学的发展和进步。
计算机技术与数学建模的有机联系计算机技术与数学建模的有机联系摘要本文阐述了计算机技术对数学建模的影响,以及它在数学建模竞赛中的应用,结合2012年全国大学生数学建模竞赛题目重点分析了数学建模的特点,探讨了多种计算机技术在数学建模中不可或缺的作用,为更好地开展数学建模,提出了建设性思路和方法。
关键词数学建模计算机技术计算机模拟一、引言计算机科学技术的迅猛发展,给许多学科带来了巨大的影响。
它不但使问题的求解变得更加方便、快捷和精确,而且使解决实际问题的领域变得更加广泛。
计算机适合于解决那些规模大、难以解析的数学模型。
在历届国际和中国大学生的数学建模(MCM)竞赛中,学生经常用计算机模拟方法求解,然后解释验证以及指导实际问题。
这个过程如果用人工实现,费时费力且短时期内可能得不到很好的解决,如果借助计算机来完成这些过程,就从根本上加快了数学建模全过程的进度,使数学建模的发展如虎添翼[1]。
因此,计算机技术是数学建模过程中不可缺少的工具和手段,数学建模也把大学生学习计算机技术与研究数学科学两者紧密结合在一起。
二、计算机技术在数学建模中的重要性众所周知,计算机是数学建模的产物,同时计算机技术的发展又极大地推动了数学建模活动,计算机高速的运算能力,非常适合数学建模过程中的数值计算;它的大容量贮存能力以及网络通讯功能,使得数学建模过程中资料存贮、检索变得方便有效;它的多媒体化,使得数学建模中一些问题能在计算机上进行更为逼真的模拟;它的智能化,能随时提醒、帮助我们进行数学模型求解[2]。
近年来的数学建模竞赛对学生的计算机技术的要求是越来越高,几乎所有的竞赛题目都涉及大量的数值计算或逻辑运算,因此不掌握计算机技术和相关数学软件的使用很难取得较好成绩的。
因此,计算机技术和数学建模之间具有密不可分的联系,两者只有有机结合,才能有效地提高学生灵活运用理论知识的能力、知识迁移的'能力、实际应用能力以及分析问题和解决问题的能力[3]。
计算机仿真与建模数学建模和仿真技术计算机仿真与建模是一种基于数学模型和仿真技术的研究方法,通过使用计算机模拟和实验来预测和分析现实世界的各种现象和系统行为。
该技术在科学研究、工程设计、决策支持等领域具有广泛的应用。
一、数学建模数学建模是计算机仿真与建模的基础,它利用数学模型来描述和解决现实世界中的问题。
数学建模是一种将实际问题转化为数学形式进行描述和求解的方法,通过对问题进行抽象和简化,建立起数学模型,从而得到问题的解析解或数值解。
数学建模通常包括问题的描述、模型的建立、求解方法的选择和模型验证等步骤。
在建立模型时,需要考虑问题的物理背景、相互关系和约束条件,合理选择数学方法和工具,以及对模型进行检验和优化。
二、仿真技术仿真技术是计算机仿真与建模的关键工具,它通过创建虚拟的仿真环境,模拟实际系统的行为和演化过程。
仿真技术可以提供对系统运行状态、特征和性能等方面的详细和准确的信息。
仿真技术通常包括模型构建、参数设置、仿真运行和结果分析等步骤。
在模型构建中,需要根据实际系统的特点和需求,定义系统的组成部分和它们之间的关系;在参数设置中,需要确定各个参数的取值范围和初值;在仿真运行中,需要选择适当的仿真算法和计算机资源,进行模拟计算和结果记录;在结果分析中,需要对仿真结果进行统计分析和可视化展示,以便于对系统的行为和性能进行评估和改进。
三、应用领域计算机仿真与建模数学建模和仿真技术在各个领域都有广泛的应用。
在自然科学领域,如物理学、化学和生物学等,可以利用仿真技术模拟和预测物理过程、化学反应和生物系统的行为;在工程设计领域,如航空航天、汽车制造和建筑结构等,可以使用仿真技术验证和优化设计方案,提高产品性能和可靠性;在社会科学领域,如经济学、管理学和社会学等,可以运用仿真技术模拟和分析人类行为和社会系统的运行规律,为决策提供科学依据。
总结:计算机仿真与建模数学建模和仿真技术是一种重要的研究方法和工程技术,通过数学模型和仿真技术的应用,可以更好地理解和解决现实世界中的问题。
数学建模常用方法介绍数学建模是指利用数学方法对实际问题进行数学描述和分析的过程。
它是数学与实际问题相结合的一种科学研究方法。
在数学建模中,常用的方法有线性规划、非线性规划、动态规划、数值模拟、统计分析等。
下面将介绍这些常用的数学建模方法。
1.线性规划线性规划是一种优化问题的数学描述方法,可以用于求解最优化问题,例如最大化利润或最小化成本。
线性规划的基本思想是在一定的约束条件下,通过线性目标函数和线性约束条件,寻找最优解。
线性规划常用的算法有单纯形法、内点法等。
2.非线性规划非线性规划是一种在约束条件下求解非线性最优化问题的方法。
与线性规划不同,非线性规划中目标函数和/或约束条件是非线性的。
非线性规划的求解方法包括梯度下降法、牛顿法等。
3.动态规划动态规划是一种常用的求解最优化问题的方法,它可以用于求解具有重叠子问题结构的问题。
动态规划将原问题分解为一系列子问题,并通过保存子问题的解来避免重复计算,从而降低计算复杂度。
动态规划常用于求解最短路径问题、背包问题等。
4.数值模拟数值模拟是通过数值方法对实际问题进行计算机模拟和仿真的方法。
数值模拟在现代科学和工程中得到广泛应用。
数值模拟方法包括有限差分法、有限元法、蒙特卡洛方法等。
5.统计分析统计分析是通过数理统计方法对数据进行分析和推断的方法。
统计分析可以帮助我们了解数据的分布、关系和趋势,并做出科学的推断和预测。
统计分析方法包括假设检验、方差分析、回归分析等。
除了以上常用方法,还有一些其他常用的数学建模方法,例如图论、随机过程、优化算法等。
不同的问题需要选用不同的数学建模方法。
为了解决实际问题,数学建模需要结合实际背景和需求,在数学建模的过程中运用合适的数学方法,建立准确的模型,并通过数学分析和计算机辅助求解,得到符合实际情况的解答和结论。
数学建模的过程不仅仅是将数学工具应用于实际问题,更要注重问题的形式化、合理性和可行性。
在实际建模过程中,需要对问题进行适当的简化和假设,并考虑到模型的稳定性和可靠性。
实用数学建模与软件应用
摘要:
1.实用数学建模的概述
2.软件在数学建模中的应用
3.数学建模的实际应用案例
4.数学建模的挑战与未来发展
正文:
【实用数学建模的概述】
实用数学建模是一种应用数学的方法,它通过建立数学模型来描述和解决实际问题。
这种模型可以包括各种数学工具,如微积分、概率论、线性代数等。
实用数学建模的目的是使用数学来解决现实世界中的问题,并提供对这些问题的深入理解。
【软件在数学建模中的应用】
计算机软件在数学建模中发挥着越来越重要的作用。
数学软件可以帮助用户解决复杂的数学问题,可以进行各种数学计算、绘图、模拟等。
例如,MATLAB、Mathematica 和R 等软件都是数学建模中常用的工具。
【数学建模的实际应用案例】
数学建模在许多领域都有实际应用,例如在经济学、生物学、工程学等领域。
例如,经济学家可以使用数学模型来预测市场的变化,生物学家可以使用数学模型来研究生物过程,工程师可以使用数学模型来设计新的产品。
【数学建模的挑战与未来发展】
尽管数学建模在各个领域都有广泛的应用,但是它也面临着一些挑战。
例如,如何建立一个准确的数学模型来描述复杂的现实问题,如何处理模型中的不确定性,以及如何解释模型的结果等。
数学学习的计算机计算机在数学学习中的作用和应用数学学习的计算机在数学学习中的作用和应用数学是理科中一门重要的学科,它有着广泛的应用和深远的影响。
而计算机技术的发展也为数学学习提供了新的方式和工具。
本文将探讨计算机在数学学习中的作用和应用。
一、计算机在数学学习中的作用计算机在数学学习中扮演着重要的角色,它可以提供以下几个方面的帮助:1. 提供实时计算和解题过程展示计算机可以以图形化的方式展示数学计算和解题过程,帮助学生更好地理解和掌握数学概念和原理。
通过实时演示,学生可以看到数学问题的求解过程,加深对数学方法和思想的理解。
2. 提供交互式学习环境计算机可以提供交互式的学习环境,学生可以通过计算机软件进行数学练习和测试,及时获取答题结果和反馈,从而及时纠正错误和提高成绩。
此外,计算机还可以根据学生的学习情况和表现,个性化地调整难度,使学习更加有效。
3. 提供数学模拟和实验计算机可以进行各种数学模拟和实验,帮助学生更好地理解和应用数学知识。
例如,在几何学习中,计算机可以模拟几何图形的变换和运动,使学生对几何变换有更深入的认识;在概率学习中,计算机可以模拟概率实验,加深学生对概率的理解和应用。
二、计算机在数学学习中的应用除了上述作用,计算机还有很多具体的应用场景:1. 数据分析和统计计算机可以对大量的数据进行分析和统计,帮助学生更好地理解和应用统计学知识。
例如,在统计学习中,学生可以通过计算机软件对数据进行可视化展示和分析,从而发现数据的规律和趋势。
2. 数学建模计算机在数学建模中发挥着重要的作用。
通过计算机的计算和模拟,学生可以建立数学模型,并通过模型进行预测和分析。
例如,在物理学中,学生可以利用计算机模拟物体的运动和力学过程,从而更好地理解和应用物理学知识。
3. 数学软件开发计算机可以用于开发数学软件,为学生和教师提供更好的数学学习和教学工具。
例如,数学软件可以提供丰富的数学题库和解题技巧,帮助学生提高解题能力;数学软件还可以提供各种数学工具,如图形绘制、计算器等,方便学生进行数学计算和实验。
数学建模系统仿真1. 简介数学建模是利用数学方法解决实际问题的过程。
在实际问题中,我们往往需要通过建立数学模型来描述问题,然后利用模型进行计算和分析,最终得到问题的解决方案或预测结果。
为了验证模型的有效性,实施系统仿真可以提供一个真实环境下的模拟试验。
本文将介绍数学建模系统仿真的概念、目的以及常用的方法和工具。
2. 数学建模系统仿真的概念数学建模系统仿真是指利用计算机模拟方法,对数学建模的过程进行模拟和验证的过程。
通过模拟仿真,可以判断数学模型的有效性、可行性以及预测模型的实际应用效果。
系统仿真不仅可以减少实验成本和周期,还可以提供更加全面和具体的结果,为决策提供科学依据。
3. 数学建模系统仿真的目的数学建模系统仿真的主要目的是验证数学模型的有效性和可行性,并预测模型在实际问题中的应用效果。
具体而言,数学建模系统仿真可以实现以下几个目标:•检验数学模型的适用性:通过系统仿真,可以验证数学模型是否能准确地描述实际问题,并提供合理的结果。
•预测模型在实际应用中的效果:仿真可以模拟实际环境下的运行情况,进一步预测数学模型在实际应用中的效果,并提供参考依据。
•优化模型参数和算法:通过对模型的仿真,可以调整和优化模型的参数和算法,提高模型的精度和效率。
•降低实验成本和周期:系统仿真可以减少实验所需的资源和时间成本,加快模型的研究和优化过程。
4. 数学建模系统仿真的方法和工具4.1 数值模拟数值模拟是数学建模系统仿真中常用的方法之一。
通过将数学模型转化为数值计算问题,并利用计算机进行求解,可以得到模型的数值解。
数值模拟的主要步骤包括离散化、求解差分方程或微分方程、结果验证等。
常见的数值模拟工具包括MATLAB、Python等,它们提供了丰富的数值计算和仿真函数库,方便研究人员进行模型的求解和结果分析。
4.2 仿真软件除了数值模拟方法,还可以利用专门的仿真软件进行数学建模系统仿真。
仿真软件提供了直观的界面和交互式操作,可以更加方便地构建和修改模型,并进行仿真实验。
第22卷第1期海南大学学报自然科学版Vol . 22 No . 1 2004 年 3 月NATURAL SCIENCE JO URNAL OF HAINAN UNIVERSITY Mar . 2004 文章编号:1004 - 1729 (2004) 01 - 0089 - 07计算机模拟在数学建模中的应用欧宜贵,李志林,洪世煌(海南大学信息科学技术学院 , 海南海口 570228)摘要:阐述了计算机模拟在数学建模中的作用,给出了蒙特卡洛方法和离散系统模拟方法实现的具体过程,并通过具体的实例分析,说明计算机模拟方法在数学建模中的有效性.关键词:计算机模拟;数学建模;蒙特卡洛方法;离散系统; Matlab 6. 0中图分类号: O 141文献标识码: A1概述计算机科学技术的迅猛发展,给许多学科带来了巨大的影响.计算机不但使问题的求解变得更加方便、快捷和精确,而且使得解决实际问题的领域更加广泛.计算机适合于解决那些规模大、难以解析化以及不确定的数学模型.例如对于一些带随机因素的复杂系统,用分析方法建模常常需要作许多简化假设,与面临的实际问题可能相差甚远,以致解答根本无法应用,这时模拟几乎成为人们的唯一的选择.在历届的美国和中国大学生的数学建模(MCM)中,学生们经常用到计算机模拟方法去求解、检验等.计算机模拟(computer simulation)是建模过程中较为重要的一类方法(见文献[ 1 ]) .所谓计算机模拟,就是用计算机程序在计算机上模仿各种实际系统的运行过程,并通过计算了解系统随时间变化的行为或特性.它是在已经建立起的数学、逻辑模型之上,通过计算机实验,对一个系统按照一定的决策原则或作业规则,由一个状态变换为另一个状态的行为进行描述和分析.计算机模拟实质上是计算机建模,而计算机模型就是计算机方法和理论(如程序、流程图、算法等) ,它是架于计算机理论和实际问题之间的桥梁.它与数学建模的关系如图 1 :一般说来,在下列情况中,计算机模拟能有效地解决问题.图1计算机模拟流程图1) 难于用数学公式表示的系统 ,或者没有建立和求解数学模型的有效方法;收稿日期: 2003 - 09 - 02基金项目:海南大学2002~2003年度教学研究项目“数学建模教育及对学生综合能力培养的研究与实践”资助作者简介:欧宜贵(1965 - ) ,男,湖北钟祥人,海南大学信息科学技术学院副教授,博士.90海南大学学报自然科学版2004 年2) 虽然可以用解析的方法解决问题 ,但数学的分析与计算过于复杂 ,此时计算机模拟可能提供简单可行的求解方法;3) 希望能在较短的时间内观察到系统发展的全过程 ,以估计某些参数对系统行为的影响;4) 难以在实际环境中进行实验和观察时 ,计算机模拟是唯一可行的方法 ,例如太空飞行的研究;5) 需要对系统或过程进行长期运行比较 ,从大量方案中寻找最优方案.计算机模拟是系统随时间变化而变化的动态写照 ,因此 ,在通常情况下 ,模拟是按时间来划分的. 目前 ,计算机模拟大致可分成静态模拟( static simulation) 和动态模拟( dynamic simulation) .数值积分中的蒙特卡洛(Monte Carlo) 方法是典型的静态模拟;动态模拟又分为连续系统模拟和离散系统模拟. 下面将主要讨论数学建模竞赛活动中经常用到的Monte Carlo 方法和离散系统的模拟方法. 实际上 ,对连续系统的模拟 ,是将连续状态变量在时间上进行离散化处理 ,并由此模拟系统的运行状态.2 Mo nte Carlo 方法Monte Carlo 方法是计算机模拟的基础 ,其历史源于 1777 年法国科学家蒲丰提出的一种计算圆周率π的方法 ———随机投针法 ,即著名的蒲丰投针问题(见文献[ 2 ]) .Monte Carlo 方法的基本思想是首先建立一个概率模型 ,使所求问题的解正好是该模型的参数或其他有关的特征量. 然后通过模拟一统计 ,即多次随机抽样实验 ,统计出某事件发生的百分比. 只要实验次数很大 ,该百分比便近似于事件发生的概率. 这实际上就是概率的统计定义.Monte Carlo 方法属于试验数学的一个分支.例如 ,为了对蒲丰投针问题进行模拟 ,我们先要建立如下的概率模型:设“X ”是一随机变量, 它服从区间[ 0 , a/ 2 ]上的均匀分布. 同理,φ是服从区间[ 0 ,π]上的均匀分布. 按照某种抽样法, 产生随机变量的可能值, 例如进行 n 次抽样, 得到样本值( x i ,φi ) ,i = 1 , 2 , ⋯, n , 统计出满足不等式: x i ≤lsin φi 的次数 m ( m <2下面使用 Matlab 语言(见文献[ 3 ]) 来编程 ,这需建立一个 function yy = simu ( n , L , a)m = 0 ;for k = 1∶nx = unifrnd (0 , a / 2) ;y = unifrnd (0 , pi ) ;if x < = 0. 5 3L 3 sin ( y)m = m + 1 ; elseendend p = m/ npi m = 1/ pn) . 然后进行计算机模拟.M - 文件:输入n , L , a,运行后,即可估算出概率p的估计值m/ n.若选取L∶a= 1∶2 ,我们还可得到π的近似值.Monte Carlo 方法适用范围很广泛 ,它既能求解确定性的问题 ,也能求解随机性的问题以及第1期欧宜贵等:计算机模拟在数学建模中的应用91科学研究中的理论问题.例如,利用Monte Carlo方法可近似地计算定积分,还可以近似求解非线性规划问题,请参看文献[ 4 ,5 ] .注 1 :对随机现象进行模拟,实质上要给出随机变量的模拟,也就是说利用计算机随机地产生一系列数值(称为随机数) ,它们的出现要服从一定的概率分布.目前,经常使用的是按照一定的算法产生的随机数.下面列举的是Matlab中各种分布下产生随机数的命令: 常见的分布函数Matlab 语句均匀分布U [0,1] 均匀分布U [ a , b ] 指数分布 E (λ)正态分布N (μ,σ) 二项分布 B ( N , p) Poisson 分布P (λ) R = rand ( m , n)R = unifrnd ( a , b , m , n) R = exprnd (λ, m , n)R = normrnd (μ,σ, m , n) R = binornd ( N , p , m , n) R = poissrnd (λ, m , n)以上语句均产生m×n的矩阵.3离散系统的模拟顾名思义,这是对离散系统进行模拟.离散系统(discrete system) 是指系统状态只在有限的时间点或可数的时间点上有随机事件发生的系统.例如排队系统, 显然状态量的变化只是在离散的随机时间点上发生.假设离散系统状态的变化是在一个时间点上瞬间完成的.下面讨论某企业生产的库存系统的计算机模拟方法,这是排队系统的一个实际应用的典型例子.3 . 1问题的提出在销售部门、工厂等领域中都存在库存问题,库存太多造成浪费以及资金积压,库存少了不能满足需求也造成损失.部门的工作人员需决定何时进货,进多少,使得所花费的平均费用最少,而收益最大,这就是库存问题.某企业生产易变质的产品.当天生产的产品必须售出,否则就会变质.该产品单位成本为 2. 5元,单位产品售价为5元.企业为避免存货过多而造成损失,拟从以下2种库存方案中选出一个较优的方案: 方案甲:按前 1 d的销售量作为当天的库存量;方案乙:按前 2 d的平均销售量作为当天的库存量.假定市场对该产品的每天需求量是一个随机变量,但从以往的统计分析得知它服从正态分布:N (135 , 22. 4) .3 . 2模型的建立计算机模拟的基本思路:第一,获得市场对该产品的需求量的数据;图2模拟过程流程图第二,计算出按照2种不同方案经T天后企业的92海南大学学报自然科学版2004 年利润值;第三,比较大小,从中选出一个更优的方案.引入下列符号:D :每天需求量;Q1 :方案甲当天的库存量;Q2 :方案甲当天的库存量;S1 :方案甲前1 d的销售量;S21 :方案乙前1 d的销售量;S22 :方案乙前2 d的销售量;S3 :方案甲当天实际销售量;S4 :方案乙当天实际销售量;L 1 :方案甲当天的利润;L 2 :方案乙当天的利润;TL 1 :方案甲累计总利润;TL 2 :方案甲累计总利润;T :预定模拟天数.模拟过程的流程图如图 2.3 . 3 模型的求解利用 Matlab 编程来实现这一过程 ,这需要建立如下的 M - 文件:function[ TL 1 , TL 2 ] = kucun ( T , S1 , S21 , S 22)TL 1 = 0 ; TL 2 = 0 ; k =1 ; while k < TQ1 = S1 ; Q2 = ( S 21 + S 22) / 2 ;D = normrnd (135 ,22. 4) ;if D < Q1S3 = Q1 ;elseS3 = D ;endif D < Q2S4 = Q2 ;elseS4 = D ;endL 1 = 53 S 3 - 2. 53 Q1 ; L 2 = 53 S4 - 2. 53 Q2 ;TL 1 = TL 1 + L 1 ; TL 2 = TL 2 + L 2 ;k = k + 1 ;endS1 = S 3 ; S22 = S21 ; S21 = S4 ;给出初值,反复运行上述程序,通过比较即可得出哪一个方案的优劣.至于排队系统的其他实际应用例子,如订票系统、加工制造系统、交通控制系统、计算机系统等等,请参看文献[ 6 ] .第1期欧宜贵等:计算机模拟在数学建模中的应用93此外,对于更复杂系统的数值模拟,如飞机起飞调度问题、公交车的调度问题、北京SARS疫情过程分析等等,本文在此不作进一步的讨论,请参看文献[ 7 ,8 ] .4建模实例2002 年全国大学生数学建模竞赛的“车灯线光源的优化设计”问题是一道从实际问题提炼、简化而来的数学问题.由于理论上的困难,很难得到满足设计要求的最优长度的线光源.本文利用计算机模拟技术,可求得满足设计要求的近似最优线光源,从而体现了数学建模中计算机模拟的重要性.4 . 1问题重述安装在汽车头部的车灯的形状为一旋转抛物面,车灯的对称轴水平地指向正前方,其开口半径36 mm ,深度21. 6 mm.经过车灯的焦点,在与对称轴相垂直的水平方向,对称地放置一定长度的均匀分布的线光源.要求在某一设计规范标准下确定线光源的长度.该设计规范在简化后可描述如下:在焦点F正前方25 m处的A点放置一测试屏,屏与FA垂直,用以测试车灯的反射光.在屏上过A点引出一条与地面相平行的直线,在该直线A点的同侧取B点和C点,使AC= 2AB= 2. 6 m.要求C点的光强度不小于某一额定值(可取为1个单位) ,B点的光强度不小于该额定值的2倍(只须考虑一次反射) .在满足该设计规范的条件下,计算线光源长度,使线光源的功率最小.4 . 2 问题分析由于线光源是均匀分布的,要使线光源功率最小,其长度也应该较小. 但若线光源的长度太小,有可能出现C点的光强度小于额定值;若线光源的长度过大,虽然能同时满足B、C 两点光强度的要求,但线光源的功率也增大了.我们的目的就是在B、C两点光强度满足题目要求的情况下,求出最优的线光源长度.又由于到达屏上某一点的光线数目与该点的光强度成正比,因此,可以将题中条件转化为:到达C点的光线数目不小于某一额定值,到达B点的光线数目不小于该额定值的2倍.然后,在抛物线上任取一点,并利用光路的可逆性,分别求出能够到达B点和C点的入射光线方程.若入射光线与线光源所在直线的交点的纵坐标的绝对值不大于线光源长度的一半,即与线光源有交点,则表示该光线经反射后能够到达屏上的B点或C点.这可通过计算机模拟来实现.4 . 3 模型的基本假设 1) 线光源看成是无数个点光源叠加而成;2) 不考虑光在抛物面上的折射,并且光在传播过程中,其强度不受空气的影响;3)不考虑车灯前配置镜面对反射光方向的影响.4 . 4 模型的建立及求解以抛物面的顶点为原点O ,对称轴为x轴 ,过原点O且与线光源平行的直线为y轴,过顶点且与xy平面垂直的直线为z轴,建立空间直角坐标系.由题中所给数据可求得旋转抛物面的方程是:60x=y2+z2.根据光路的几何原理和空间解析几何的知识,易推出结论.线光源发出的光线经抛物面反射后如果能到达B、C两点,则反射点应该在z= 0的抛物线60x=y2上,如图3所示.其中F是焦点.由题意可知 B (25015,1300) , C (25015,2600) ,F (15 , 0) .)ⅰ 能够到达B点的入射光线方程的求法设入射光线的斜率是k .在抛物线上任取一点P ( y02 , y0) , 则直线 B P 的斜率为图3 抛物面反射60。