数学建模与计算机
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数学建模与计算机
摘要:数学建模对我们在科学研究、技术改革、经济管理等现实生活中所遇到的实际问题加以分析、抽象、简化,用数学的语言进行描述、用数学的方法寻求解决方案、办法,并通过解释、验证、修改的多次反复,最终应用到实际中去的过程。
一、计算机的特点有利于进行数学建模
二、数学建模有利于计算机编程等活动
1、数学建模与生活实际密切相关
2.利用计算机丰富的软件包进行数学建模
关键词:数学建模计算机中编程
数学具有应用广泛性特征,一切科学、技术的发展都需要数学,数学是自然科学中最基础的学科,在计算机中也同样重要。
例如:数学建模在计算机中的作用。
数学建模就是对我们在科学研究、技术改革、经济管理等现实生活中所遇到的实际问题加以分析、抽象、简化,用数学的语言进行描述、用数学的方法寻求解决方案、办法,并通过
解释、验证、修改的多次反复,最终应用到实际中去的过程。
一般地,数学建模的过程可用以下框图表示。
从该框图中可以看出,计算机是数学建模的一个重要工具,建
模活动中的数学模型都是在“理想状态”下获得的,而计算机可以模拟出建模所需的“理想状态”,为模型求解提供直观的背景。
此外,还可以利用计算机进行编程,在计算机上开展数学实验,使数学建模活动更加丰富多彩。
下面就从计算机的特点出来分析如何利用计算机进行数学建模活动。
一、计算机的特点有利于进行数学建模
计算机的产生正是数学建模的产物。
第二次世界大战末期,美国为了研究弹
道导弹飞行轨迹的问题,迫切需要一种计算工具来代替人工计算。
计算机在这样的背景下应运而生。
计算机的产生与发展又极大地推动了数学建模活动。
计算机高速的运算能力,非常适合数学建模过程中的数值计算;它的大容量贮存能力以及网络通讯功能,使得数学建模过程中资料存贮、检索变得方便有效;它的多媒体化,使得数学建模中一些问题能在计算机上进行逼真的模拟实验;它的智能化,能随时提醒、帮助我们进行数学模型求解。
此外,像《几何画板》、《数学实验室——立体几何》、Maple、Mathlab、Mathcad、Mathematic、Mathtool 以及SPSS
3
SAS等一批优秀软件的出现更使数学建模如虎添翼。
二、数学建模有利于计算机编程等活动
1、数学建模与生活实际密切相关
数学建模与生活实际密切相关,所采集到的数据量多,而且比较复杂。
比如电视塔高度测量,银行贷款和分期付款等,往往计算量大,需要借助于计算机才能快捷、简便地完成。
下面就从两个实例来说明如何利用计算机编程开展数学建模活动。
例1歌手竞赛的评定问题
由于比赛成绩汇报需要及时准确,而数据处理量大且比较复杂,所以只有借助于计算机才能准确及时地完成工作。
假设有10名歌手,12名评委,要求根据评分确定歌手名次,并对评委的评判水平给出评价。
可以按以下思路利用计算机来完成这两项任务:以去掉一个最高分和一个最低分后的平均分的高低来确定一个歌手的名次,以每个评委的打分与平均分差的平方和来描述评委水平。
利用BASIC语言设计程序如下:10REM 歌手得分和评委水平鉴别程序
20DIM A(10,13),B(10,21),C(12)
4
30FOR I=1To10
40FOR J=1To12
50READ A(I,J)∶B(I,J)=A(I,J)
60NEXT J,I
70A=A(I,1)∶B(I,J)=A(I,12)
75FOR J=1To 12
80IF A(I,J)<=A THEN A=(I,J)∶S=J
90IF A(I,J)>=B THEN B=A(I,J)∶T=J
100NEXT J
110A(I,S)=0∶A(I,T)=0
120NEXT I
130FOR I=1 To 10
140FOR J=1 To 12
150A(J,13)=A(I,13)+A(I,J)
160NEXT J
170A(I,13)=INT(100*A(I,13)+0.5)/1000 175PRINT″第″;I;″号歌手得分:″,A(I,13)180NEXT I
5
190FOR J=1 To 12
200FOR I=1 To 10
220C(J)=C(J)+(B(I,J)-A(I,13)2 230NEXT I
240PRINT ″第″;J;″位评委″,SQR(C(J)/10)250NEXT J
260END
270DATA 数据略
例2古老传述
这是一个古老传说中的问题:有3个高塔与64个直径互不相同的环,开始时这些环按尺寸大小依次堆在一个塔上,最大的在最下面。
由一些僧侣把初始塔上的环移到另外一个塔上,每天只能移动一个,且移好后必须仍旧使大的在下面,按序堆放,其间可利用第三个塔暂时存放环。
传说预言僧侣们完成任务之时,就是世界的末日。
我们不知道僧侣们何时开始他们的工作,但可以考虑建立数学模型,借用计算机算出所要用的时间。
算法思想是:若僧侣们能把上面的63个环从初始塔依次移到临时塔上,则就可将最大的环移到结束塔上,并依次把其它
6
63个环从临时塔移到结束塔。
采用Pascal语言编程简略如下:
Procedure Tower(n: nonneight; start, finish, other: towernames);
IF n>0 then begin
Tower (n-1, start, other, finish);
Writeln (“ move top ring from”, start, “to”, finish);
Tower (n-1, other, finish, start)
end;
上述程序中writeln是一个差分方程,其中W(o)=0是初始条件,W(n)=2n-1是这个差分方程的解。
可得河内塔问题的解是W(64)=264-1,大约是1.84×1019天,即约5.05×1014世纪。
真是太长的时间了,难怪有“世界末日”的预言。
2.利用计算机丰富的软件包进行数学建模
计算机编程对大多数人来说不是一件容易的事,现在出现了丰富的计算机成品软件,使得利用计算机进行数学建模更加方便可行,举下面两个例子来说明。
例3花瓣建模问题
7
在日常生活中观察到树叶的形状千姿百态,花瓣的曲线变化多端,它们在数学意义上的曲线方程会是什么?好奇心可以让我们提出种种的假设,却无法忍受对各种假设进行繁锁的手工绘图。
现在我们可以利用计算机开展数学实验。
比如联系极坐标方程ρ=αsinnθ, 在《几何画板》软件上容易地画出ρ=αsin2θ的图像,发现它是一个漂亮的四叶玫瑰线,很像生活中观察到的花瓣,ρ=αsin3θ则是一个三叶玫瑰线,于是猜想ρ=αsinnθ图像对所有的n可能全是花瓣。
然而通过进一步实验发现并非如
此。
例4利用Mathcad软件对水波的波纹进行数学建模实验。
水波波纹跟数学曲线有什么关系?曲线的方程又可能是什么?我们利用Mathcad 软件首先对水波的产生进行动态模拟实验。
我们在Mathcad中作如下定义:N:=40,i:=0..N-1,
j:=0..N-1,,d(x,y):=;定义一个关于帧变量FRAME的函数;定义一个矩阵:Mi,j:=Sin(d(i,j)-φ)。
再按Ctrl+2,可得一个三维图形,在该区的右下角有一个占据符,填入字母M即可,在制作动画菜单中填入帧变量FRAME的初值0,终值30。
通过以上步骤,我们
8
可在计算机上观察到水波产生的动画过程,再进一步分析水波波纹的可能的数学方程,通过调整以上步骤中的参数与方程,加以证实。
总之,利用计算机开展数学建模,有助于数学模型的建立、求解、演算与表达,为探索者创造出理想的背景,同时也使我们计算机用得越来越好、越来越活。
参考文献:《组合数学》。