数学建模数学建模比赛中 计算机编程部分的详细情况
谢谢
计算机是数学建模的一个重要工具,建模活动中的数学模型都是在“理想状态”下获得的,而计算机可以模拟出建模所需的“理想状态”,为模型求解提供直观的背景。此外,还可以利用计算机进行编程,在计算机上开展数学实验,使数学建模活动更加丰富多彩。 下面就从计算机的特点出发来分析如何利用计算机进行数学建模活动。
一、计算机的特点有利于进行数学建模
计算机的产生正是数学建模的产物。第二次世界大战末期,美国为了研究弹道导弹飞行轨迹的问题,迫切需要一种计算工具来代替人工计算。 计算机在这样的背景下应运而生。计算机的产生与发展又极大地推动了数学建模活动。计算机高速的运算能力,非常适合数学建模过程中的数值计...全部
计算机是数学建模的一个重要工具,建模活动中的数学模型都是在“理想状态”下获得的,而计算机可以模拟出建模所需的“理想状态”,为模型求解提供直观的背景。此外,还可以利用计算机进行编程,在计算机上开展数学实验,使数学建模活动更加丰富多彩。
下面就从计算机的特点出发来分析如何利用计算机进行数学建模活动。
一、计算机的特点有利于进行数学建模
计算机的产生正是数学建模的产物。第二次世界大战末期,美国为了研究弹道导弹飞行轨迹的问题,迫切需要一种计算工具来代替人工计算。
计算机在这样的背景下应运而生。计算机的产生与发展又极大地推动了数学建模活动。计算机高速的运算能力,非常适合数学建模过程中的数值计算;它的大容量贮存能力以及网络通讯功能,使得数学建模过程中资料存贮、检索变得方便有效;它的多媒体化,使得数学建模中一些问题能在计算机上进行逼真的模拟实验;它的智能化,能随时提醒、帮助我们进行数学模型求解。
此外,像《几何画板》、《数学实验室——立体几何》、Maple、Mathlab、Mathcad、Mathematic、 Mathtool以及SPSS、SAS等一批优秀软件的出现更使数学建模如虎添翼。
二、利用计算机开展数学建模活动
1。利用计算机编程进行数学建模
数学建模与生活实际密切相关,所采集到的数据量多,而且比较复杂。比如电视塔高度测量,银行贷款和分期付款等,往往计算量大,需要借助于计算机才能快捷、简便地完成。
下面就从两个实例来说明如何利用计算机编程开展数学建模活动。
例1 歌手和评委水平的判定问题。
由于比赛成绩汇报需要及时准确,而数据处理量大且比较复杂,所以只有借助于计算机才能准确及时地完成工作。
假设有10名歌手,12名评委,要求根据评分确定歌手名次,并对评委的评判水平给出评价。可以按以下思路利用计算机来完成这两项任务:以去掉一个最高分和一个最低分后的平均分的高低来确定一个歌手的名次,以每个评委的打分与平均分差的平方和来描述评委水平。
利用BASIC语言设计程序如下:
10 REM 歌手得分和评委水平鉴别程序
20 DIM A(10,13),B(10,21),C(12)
30 FOR I=1 To 10
40 FOR J=1 To 12
50 READ A(I,J)∶B(I,J)=A(I,J)
60 NEXT J,I
70 A=A(I,1)∶B(I,J)=A(I,12)
75 FOR J=1 To 12
80 IF A(I,J)=B THEN B=A(I,J)∶T=J
100 NEXT J
110 A(I,S)=0∶A(I,T)=0
120 NEXT I
130 FOR I=1 To 10
140 FOR J=1 To 12
150 A(J,13)=A(I,13)+A(I,J)
160 NEXT J
170 A(I,13)=INT(100*A(I,13)+0。
5)/1000
175 PRINT″第″; I;″号歌手得分:″,A(I,13)
180 NEXT I
190 FOR J=1 To 12
200 FOR I=1 To 10
220 C(J)=C(J)+(B(I,J)-A(I,13)2
230 NEXT I
240 PRINT ″第″;J;″位评委″,SQR(C(J)/10)
250 NEXT J
260 END
270 DATA 数据略
例2 河内塔问题。
这是一个古老传说中的问题:有3个高塔与64个直径互不相同的环,开始时这些环按尺寸大小依次堆在一个塔上,最大的在最下面。由一些僧侣把初始塔上的环移到另外一个塔上,每天只能移动一个,且移好后必须仍旧使大的在下面,按序堆放,其间可利用第三个塔暂时存放环。
传说预言僧侣们完成任务之时,就是世界的末日。我们不知道僧侣们何时开始他们的工作,但可以考虑建立数学模型,借用计算机算出所要用的时间。算法思想是:若僧侣们能把上面的63个环从初始塔依次移到临时塔上,则就可将最大的环移到结束塔上,并依次把其它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 利用《几何画板》对花瓣进行数学建模。
在日常生活中观察到树叶的形状千姿百态,花瓣的曲线变化多端,它们在数学意义上的曲线方程会是什么?好奇心可以让我们提出种种的假设,却无法忍受对各种假设进行繁锁的手工绘图。
现在我们可以利用计算机开展数学实验。比如联系极坐标方程ρ=α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。通过以上步骤,我们可在计算机上观察到水波产生的动画过程,再进一步分析水波波纹的可能的数学方程,通过调整以上步骤中的参数与方程,加以证实。
总之,利用计算机开展数学建模,有助于数学模型的建立、求解、演算与表达,为探索者创造出理想的背景,同时也使我们计算机用得越来越好、越来越活。
参考: 。收起