数学建模与计算机

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档