论文初稿

更新时间:2024-03-06 05:22:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

本科学年论文(设计)

论文题目:数学在科学实验和计算机中的应用

学生姓名: 伍晓鹏 学 号: 0804180142 专 业: 信息与计算科学 班 级: 计科0801 指导教师: 杨晓虎

完成日期: 2010-11-18

目 录

1

Mathematics in scientific experiments and computer application

Abstract: Over the past half a century, with the rapid development of computer technology, the application of mathematics, not only in engineering, natural sciences and other fields are playing an increasingly important role, and with unprecedented breadth and depth of the economic, financial, , biology, medicine, environment, geology, population, transportation and other new areas of infiltration, the so-called mathematical technology has become an important part of contemporary high-tech, discrete mathematics is the core of the basic theory of computer science, this paper introduces the practical application of mathematical modeling and discrete mathematics, the Cartesian product in the database the application, showing the discrete mathematics in computer science in importance.

Keywords: mathematics; mathematical modeling; application analysis; Discrete Mathematics; Cartesian product; database

2

数学在科学实验和计算机中的应用

内容摘要:

近半个多世纪以来,随着计算机技术的迅速发展,数学的应用不仅在工

程技术、自然科学等领域发挥着越来越重要的作用,而且以空前的广度和深度向经济、金融、生物、医学、环境、地质、人口、交通等新的领域渗透,所谓数学技术已经成为当代高新技术的重要组成部分,离散数学是计算机科学基础理论的核心,本文介绍了数学建模的实际应用和离散数学中笛卡尔乘积在数据库方面的应用,显示了离散数学在计算机科学中的重要性。

关键词:数学;数学建模;应用分析;离散数学;笛卡尔乘积;数据库

I

第一章绪 论

1) 数学建模的目的和意义

数学建模是一种数学的思考方法,是运用数学的语言和方法,通过抽象、简化建立能近似刻画并\解决\实际问题的一种强有力的数学手段。

数学建模就是用数学语言描述实际现象的过程。这里的实际现象既包涵具体的自然现象比如自由落体现象,也包涵抽象的现象比如顾客对某种商品所取的价值倾向。这里的描述不但包括外在形态,内在机制的描述,也包括预测,试验和解释实际现象等内容。 我们也可以这样直观地理解这个概念:数学建模是一个让纯粹数学家(指只懂数学不懂数学在实际中的应用的数学家)变成物理学家,生物学家,经济学家甚至心理学家等等的过程。

数学模型一般是实际事物的一种数学简化。它常常是以某种意义上接近实际事物的抽象形式存在的,但它和真实的事物有着本质的区别。要描述一个实际现象可以有很多种方式,比如录音,录像,比喻,传言等等。为了使描述更具科学性,逻辑性,客观性和可重复性,人们采用一种普遍认为比较严格的语言来描述各种现象,这种语言就是数学。使用数学语言描述的事物就称为数学模型。有时候我们需要做一些实验,但这些实验往往用抽象出来了的数学模型作为实际物体的代替而进行相应的实验,实验本身也是实际操作的一种理论替代。

2) 数学建模的几个过程和起源

模型准备:

了解问题的实际背景,明确其实际意义,掌握对象的各种信息。用数学语言来描述问题。 模型假设:

根据实际对象的特征和建模的目的,对问题进行必要的简化,并用精确的语言提出一些恰当的假设。

模型建立:

在假设的基础上,利用适当的数学工具来刻划各变量之间的数学关系,建立相应的数学结构(尽量用简单的数学工具)。

模型求解:

利用获取的数据资料,对模型的所有参数做出计算(或近似计算)。

模型分析:

对所得的结果进行数学上的分析。

模型检验:

将模型分析结果与实际情形进行比较,以此来验证模型的准确性、合理性和适用性。如果模型与实际较吻合,则要对计算结果给出其实际含义,并进行解释。如果模型与实际吻合较差,则应该修改假设,再次重复建模过程。 模型应用:

应用方式因问题的性质和建模的目的而异。

第二章 数学建模中的经典例题

3) 例1] 存贮模型

1

工厂为了连续生产,必须贮存一些原材料,商店为连续销售必须贮存一些商品,如此等等,我们把这些贮存物统称为存贮。存贮问题的原型可以是真正的仓库存货,水库存水,也可以是计算机的存贮器的设计问题,甚至是大脑的存贮问题。

衡量一个存贮策略优劣的直接标准是,计算该策略所消耗的平均费用,费用通常主要包括:存贮费、订货费(订购费和成本费)、缺货损失费和生产费(若外购,则无此项费用)。由此可知,存贮问题一般模型为:

min(订货费(或生产费)+存贮费+缺货损失费) (2.1.1)

这里考虑一个简单的库存问题,不允许缺货的订货销售模型,假设: (2)当存贮降到零时,可立即得到补充;

(3)需求是连续均匀的,设需求速度R为常数;

(4)每次订货不变,订货费或生产准备费为a元不变; (5)单位存贮费为k元不变。

假定每隔时间T补充一次存贮, T也称为订货周期, 货物单价为k,由上述条件,来考虑存贮系统是怎样运行的, 从存贮量为y(t)的任一时刻开始,货物以R的速度减少, 直至减少为零时为止,此时,必须立即进行补充,以便满足需求,对于该模型,只有当存贮量减少到零时,才进行补充, 不必提前补充, 否则会增加不必要的存贮费用,而且据假设易知,每次补充量均相等, 这是一个典型的T循环策略,其存贮状态图由图2.1.1所示。

图2.1.1

下面根据存贮状态图来建立相应的模型, 只需考虑一个周期T的费用即可,因为各个周期完全相同,只要其中之一的费用极小化了,就可使总费用极小化。

由于订货量应满足需求量, 所以订货量应为rT, 从而成本费为krT,于是,订货费为

aa?krt,平均订货费为。?kr

t 又因平均存贮量为

1t1rtdt?rt ?0t2

2

所以平均存贮费为

1krt,则在时间T内,总的平均费用为c(t)为 2c(t)?

a1?kr?krt t2 于是,问题归结为 T 取得何值时, c(t)最小,即存贮模型为:

minc(t)?min(a1?kr?krt) t2 这是一个简单的无条件极值问题,易求得它的最优解为:

t?? ?2a rk

即每隔?t?时间订货一次, 可使平均费用c(t)最小,而每次订货批量为:

???r?t?? ?2ra k

这便是存贮论中著名的经济订购批量(Economic Order Quantity)公式,简称EOQ公式,亦即最优库存方针的数学模型。

例2.1.1是一种理想情况下的最简库存模型, 在建模过程中,作了若干简化,这些简化对建模是必要的,但实际的市场销售情况是复杂的,因此, 所得到的模型只是一种近似情况, 还需经过实践的检验,不过,式(2.1.3)和(2.1.4)所提供的信息对做出库存方针的决策也是很有价值的。

4) [例2] 价格竞争模型

3

问题描述:两个加油站座落在同一公路旁, 为在公路上行驶的汽车提供同样的汽油,彼此激烈竞争,附近的一些加油站也对它们构成一定压力。一天,甲加油站突然张贴出“降价销售”的广告吸引更多的顾客,以图形成更大的市场,获取更多的利润。结果造成乙加油站的顾客被拉走了许多,盈利急剧减少。利润受销售价和销售量的影响和控制。他们为了挽回损失采取对策,决定马上降价以争取顾客。乙加油站如何决定汽油的价格,才能既可以同甲加油站竞争,又可以获取尽可能高的利润。

问题分析:市场是极大的,尽管两个加油站都有自己的老顾客,但销售量的大部分还是由偶然到来的顾客所决定。我们需要建立一个描述这场“价格战”的价格竞争模型,并站在乙加油站的立场为其制定对策。首先需要建立一个模型,可用来预测当甲加油站的汽油价格站下调后,乙加油站的销售量的变化情况。

为描述价格和汽油销售量之间的关系,下面引入一些指标: x──乙加油站的销售价格(元/升); y ──甲加油站的销售价格(元/升); w ──汽油的成本价格(元/升);

l ──乙加油站在价格战之前的销售量(升/日); p ──汽油的正常销售价格(元/升)。

其中, 由其他加油站的一般销售价格确定,不妨定为常数。 现在“价格竞争”问题转化成一个典型的数学问题,即要推测和分析各个变量间的关系和相互影响。可以认为乙加油站的销售量受以下各因素的影响:

(1)两加油站之间的销售价格之差;

(2)乙加油站的销售价格与正常价格之间的差价, 即乙加油站汽油降价的幅度; (3)甲加油站销售价格与正常价格之间的差价, 即甲加油站汽油降价的幅度。 可以更进一步假定乙加油站的销售量受以上因素的线性影响,下面式子表示乙加油站的销售量:

l?a(x?y)?b(p?y)?c(p?x)

其中a,b,c是比例常数,并且均大于零。确定乙加油站的利润函数为: r(x,y)?(x?w)[l?a(x?y)?b(p?y)?c(p?x)]

将y作为参数输入,x作为变量, 可求出r(x,y)的最大值,并求出r(x,y)取最大值时x的值为:

x?1[l?y(a?b)?p(b?c)?w(a?c)]

2(a?c)

也就是说,当甲加油站把汽油的价格降到 y 元时, 乙加油站把它的汽油价格定为x时可以使得乙加油站获得最高的利润。

用以下数据检验这个模型:

l?2000,p?4,w?3,y?3.7,3.8,3.9

由于经济学的现象是难以通过试验来实现的。因为我们无法要求任何一个加油站频繁调整

4

它的销售价格来统计不同价格下的销售量。所以我们现在面临的问题是比例常数取何值。在

一般的建模过程经常需要确定参数的值,往往是考虑了数据的精确度,参数的数量级等因素后用某种方法估计出来。这里考虑了a,b,c的数量级之后,可取a?5*1000,b?c?2000。 当然也可以尝试取其他一些数据,例如a=12或 a=0.4,但检验后会发现x,r(x,y)的值不符合实际。 另外也可以认为含有a,b,c的各项对r(x,y)的影响不尽相同,即可以选择三个不等的比例常数。利用上面选定的数值算出的结果列在表2.1.1中。 表2.1.1

注意价格竞争前的利润为(4-3)×2000=2000(元)

5) 【例三】红灯绿灯时间差”的探讨

十字形的路口, 东西、南北方向的行火车辆来来往往, 车水马龙。为了不让双方挤在一起,红绿灯就应动而生,一个方向先过,另一个方向再过。

在江山大南门广场的十字路口,红灯和绿灯的持续时间是不一样的──红灯的时间总比绿灯长。即当东西方向红灯亮时,南北方向的绿灯要经过若干秒后才亮。这样方可确保十字路口的交通安全。

那么,如何根据实际情况设置红绿灯的时间差呢?

5

如图2.1.2所示, 假设十字路口是对称的,宽窄一致。设一个字路口长为m米,宽为n米。 当绿灯亮时最后一秒出来的骑车人A,不与另一方向绿灯亮时出来的机动车辆B相撞,即可保证交通安全。

根据调查自行车一般速度低于14km/h(即4m/s),机动车速度不超过28km/h(即8m/s)。若红绿灯时间差为t秒,那么:

m?nm?n, 骑车人A从C1C2线到K处时另一方向绿?n?22m?n灯亮, 此时骑车人A前进距离为4t,K处到FG线距离为?4t。骑车人A从K处到达FG线

2 从C1C2线到FG线的距离为所需的时间为:

1m?nm?n-t(?4t)?428

从D1D2线到EF线的距离为

m?n。机动车B从D1D2线到EF线所需的时间为21m?nm?n。 ()?8216 A通过FG线比B通过EF线要早一些方可避免碰撞事故,故

m?nm?nm?3n 即t? ?t?81616

6

即设置的时间差要满足t?m?3n时,才能使车人不相撞,如某市南区十字路口长约6416米,宽约16米,理论上最少设置时间差为7秒,而实际设置时间差为8秒(8>7),符合要求。

第三章离散数学中的笛卡尔乘积

6) 名称定义

假设集合A={a,b},集合B={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。可以扩展到多个集合的情况。类似的例子有,如果A表示某学校学生的集合,B表示该学校所有课程的集合,则A与B的笛卡尔积表示所有可能的选课情况。

7) 笛卡尔积的运算性质

由于有序对中x,y的位置是确定的,因此A×B的记法也是确定的,不能写成B×A. 笛卡尔积也可以多个集合合成,A1×A2×?×An.

笛卡尔积的运算性质. 一般不能交换. 笛卡尔积,把集合A,B合成集合A×B,规定

A×B={½xÎAÙyÎB} 推导过程

给定一组域D1,D2,?,Dn,这些域中可以有相同的。D1,D2,?,Dn的为: Di,i=1,2,?,n}? D1×D2×?×Dn={(d1,d2,?,dn)|di 所有的所有取值的一个组合不能重复 例 给出三个域:

D1=SUPERVISOR ={ 张清玫,刘逸 } D2=SPECIALITY={计算机专业,信息专业} D3=POSTGRADUATE={李勇,刘晨,王敏} 则D1,D2,D3的笛卡尔积为D: D=D1×D2×D3 =

{(张清玫,计算机专业,李勇),(张清玫,计算机专业,刘晨), (张清玫,计算机专业,王敏),(张清玫,信息专业,李勇), (张清玫,信息专业,刘晨),(张清玫,信息专业,王敏), (刘逸,计算机专业,李勇),(刘逸,计算机专业,刘晨), (刘逸,计算机专业,王敏),(刘逸,信息专业,李勇), (刘逸,信息专业,刘晨),(刘逸,信息专业,王敏) }

这样就把D1,D2,D3这三个集合中的每个元素加以对应组合,形成庞大的集合群。

7

本个例子中的D中就会有2X2X3个元素,如果一个集合有1000个元素,有这样3个集合,他们的笛卡尔积所组成的新集合会达到十亿个元素。假若某个集合是无限集,那么新的集合就将是有无限个元素。 序偶与笛卡尔积

在日常生活中,有许多事物是成对出现的,而且这种成对出现的事物,具有一定的顺序。例如,上,下;左,右;3〈4;张华高于李明;中国地处亚洲;平面上点的坐标等。一般地说,两个具有固定次序的客体组成一个序偶,它常常表达两个客体之间的关系。记作〈x,y〉。上述各例可分别表示为〈上,下〉;〈左,右〉;〈3,4〉;〈张华,李明〉;〈中国,亚洲〉;〈a,b〉等。

序偶可以看作是具有两个元素的集合。但它与一般集合不同的是序偶具有确定的次序。在集合中{a,b}={b,a},但对序偶〈a,b〉≠〈b,a〉。

设x,y为任意对象,称集合{{x},{x,y}}为二元有序组,或序偶(ordered pairs),简记为 。称x为的第一分量,称y为第二分量。

定义3-4.1 对任意序偶 , , = 当且仅当a=c且b = d 。

递归定义n元序组 ={{a1},{a1 , a2}}

= { {a1 , a2},{a1 , a2 , a3}} = < , a3 >

= <, an> 两个n元序组相等

< a1,?an >= < b1,?bn >Û(a1=b1) ∧ ?∧ (an=bn) 定义3-4.2 对任意集合 A1,A2 , ?,An,

(1) A1×A2,称为集合A1,A2的笛卡尔积(Cartesian product),定义为 (2) A1 ×A2={x | $u $v(x = ∧u ÎA1∧vÎA2)}={

| u ÎA1∧vÎA2}

(3) (2)递归地定义 A1 × A2× ? × An

(4) A1 × A2×? × An= (A1× A2 × ?× An-1)×An

(5) 例题1 若A={α,β},B={1,2,3},求A×B,A×A,B×B以及(A×B)

Ç(B×A)。

(6) 解 A×B={〈α,1〉,〈α,2〉,〈α,3〉,〈β,1〉,〈β,2〉,

<β,3〉}

(7) B×A={〈1,α〉,〈1,β〉,〈2,α〉,〈2,β〉,〈3,α〉,

〈3,β〉}

(8) A×A={〈α,α〉,〈α,β〉,〈β,α〉,〈β,β〉}

(9) B×B={〈1,1〉,〈1,2〉,〈1,3〉,〈2,1〉,〈2,2〉,〈2,

3〉,〈3,1〉,〈3,2〉,〈3,3〉}

(10) (A×B)Ç(B×A)=Æ (11) 由例题1可以看到(A×B)Ç(B×A)=Æ (12) 我们约定若A=Æ或B=Æ,则A×B=Æ。 (13) 由笛卡尔定义可知: (14) (A×B)×C={〈〈a,b〉,c〉|(〈a,b〉∈A×B)∧(c∈C)} (15) ={〈a,b,c〉|(a∈A)∧(b∈B)∧(c∈C)} (16) A×(B×C)={〈a,〈b,c〉〉|(a∈A)∧(〈b,c〉∈B×C)}

8

(17) 由于〈a,〈b,c〉〉不是三元组,所以 (18) (A×B)×C ≠A×(B×C) (19) 定理3-4.1 设A, B, C为任意集合,*表示 È,Ç或 –

运算,那么有如下结论:

(20) 笛卡尔积对于并、交差运算可左分配。即: (21) A×(B*C)=(A×B)*(A×C) (22) 笛卡尔积对于并、交差运算可右分配。即: (23) (B*C) ×A=(B×A)*(C×A) (24) ¤ 当*表示 È时,结论(1)的证明思路:(讨论叙述法) (25) 先证明A×(B È C)Í(A×B) È (A×C) 从

∈A×(BÈC)出发,推出∈(A ×B) È (A×C)

(26) 再证明(A×B) È (A×C) Í A×(B È C) (27) 从∈(A×B) È (A×C)出发,推出∈A×(BÈC) (28) 当*表示 È时,结论(2)的证明思路:(谓词演算法) 见P-103

页。¤

(29) 定理3-4.2 设A, B, C为任意集合,若C ≠ F,那么有如下结论: (30) AÍBÛ(A×C ÍB×C) Û

(C×AÍC×B)

(31) 定理前半部分证明思路 :(谓词演算法) (32) 先证明AÍB Þ (A×CÍB×C) (33) 以AÍB 为条件,从∈A×C出发,推出∈B×C (34) 得出(A×CÍB×C)结论。 (35) 再证明(A×C ÍB×C) Þ AÍB (36) 以C≠F为条件,从x∈A出发,对于y∈C,利用Þ附加式,推出

x∈B

(37) 得出(AÍB)结论。 见P-103页。 (38) 定理3-4.3 设A, B, C, D为任意四个非空集合,那么有如下结论: (39) A×B Í C×D的充分必要条件是AÍ C,BÍ D (40) 证明思路:(谓词演算法) (41) 先证明充分性: A×B Í C×D Þ AÍ C,BÍ

D

(42) 对于任意的x∈A、y∈B,从∈A×B出发,利用条件A×BÍ

C×D, ∈C×D,推出x∈C, y∈D。

(43) 再证明必要性: AÍ C,BÍ D ÞA×BÍ C×D (44) 对于任意的x∈A、y∈B,从∈A×B出发,推出∈C×D。 (45) 笛卡尔(Descartes)乘积又叫。设A、B是任意两个,在集合A中任

意取一个元素x,在集合B中任意取一个元素y,组成一个有序对(x,y),把这样的有序对作为新的元素,他们的全体组成的集合称为集合A和集合B的直积,记为A×B,即A×B={(x,y)|x∈A且y∈B}。

9

下面我们介绍两个关系之间的笛卡尔积运算。关系R(U1,U2,? Um)和S(V1,V2,? Vn)的笛卡尔积是一个m+n元组的集合,可以形式化地定义为:

R×S=

{( u1,u2,? um,v1,v2,? vn)| all possible (u1,u2,? um)∈U and (v1,v2,? vn)∈V}

即R和S的笛卡尔积是一个m+n元组集合,每一个元组的前m元都是R的成员,其后n元都是S的成员。对于理论上的关系代数,由于R中和S中都没有重复的元组,所以|R×S|=|R|×|S|,即Number(R×S)=Number(R)×Number(S)。但是在实用的应用中,在一个关系中出现完全相同的元组是很正常的事情,因为一个关系不仅要记录实体,还要记录事务、事件等等。在实际的RDBMS里是怎样处理笛卡尔积的呢?我们用过程描述语言表达如下:

CartesianOfRelations(relation R, relation S) //参数是R和S两个关系 {

Relation RS;

RS=new (Relation); //新建立一个新的关系的引用,用来存储笛卡尔 运算以后的结果

RS.attributes.append(R.attributes);

// 把关系R的所有的属性都增加到RS中 RS.attributes.append(R.attributes);

// 把关系S的所有的属性都增加到RS中

Foreach(tuple r in Relation R ) // 对关系R中的每一个元组 Foreach(tuple s in Relation S)// 对关系S中的每一个元组 {

tuple rs=RS.GenerateTuple();

//用RS关系的结构生成一个空的元组 rs=rs.attributes.append(r);

//把关系R当前元组的值填充到临时元组中 rs=rs.attributes.append(s);

//把关系S当前元组的值填充到临时元组中 }

RS.tuples.add(rs);

//把临时元组追加到关系RS中。 }

return RS; }

我们看到了,实际使用中的数据库管理系统并不自动取消掉重复元组,如果需要人为地强制去掉重复的元组,仍然需要加入Distinct关键字。

10

Figure 1.2.1.2.2 笛卡尔积并且取消重复元组

如上图所示,我们对两个关系进行了笛卡尔积,并且对结果进行了合并重复元组的工作。其中笛卡尔积通过Cross Join运算实现,而distinct去除重复元组。笛卡尔积在实战中没有太多的意义,但对于数据库系统来说,笛卡尔积的意义重大,因为所有的数据库查询的操作对象都是在现有的关系表之上采用有限的笛卡尔积之上进行的,都是在笛卡尔积的结果上进行选择运算(select)得到的。

第四章设计总结

数学模型,简单说就是用数学语言描述实际现象的过程。数学模型有两个很重要的属性,一是合理性,二是简易性。建立数学模型的过程就是一个数学建模。

通过本次的建模活动了解到数学建模就是把现实中的实际问题加以提炼抽象得到一个数学的模型 ,然后,我们在对该模型进行进一步的求解,把抽象的东西返还到现实中。其实构造数学模型过程的本质就是:对实际现象的定量研究,而对实际现象的定量研究的重要性和挑战在于怎样去建立能够更好地了解该现象,并且可以应用数学方法来解决的数学模型(数学问题). 实际现象通常都是极为复杂的, 因此不经过理想化和简化是很难进行定量研究的.

现在我国每一所大学的计算机专业都开设离散数学课程,正因为离散数学在计算机科学中的重要应用,可以说没有离散数学就没有计算机理论,也就没有计算机科学。所以,应努力学习离散数学,推动离散数学的研究,使它在计算机中有着更为广泛的应用。

11

第五章参考文献

[1].主编:郑阿奇 MATLAB实用教程 出版社:电子工业出版社 2005

[2].编辑:张志涌 MATLAB教程--- 基于6.X版本 出版社:北京航空大学出版社 2001 [1] 耿素云,屈婉玲,离散数学[M].北京:高等教育出版社<1998.

[2] 左孝凌,李永监,刘永才编著.离散数学[M].上海:上海科学技术文献出版社,2004. [4].主编:刘书田 高等数学上下册 出版社:北京大学出版社 2001

12

第五章参考文献

[1].主编:郑阿奇 MATLAB实用教程 出版社:电子工业出版社 2005

[2].编辑:张志涌 MATLAB教程--- 基于6.X版本 出版社:北京航空大学出版社 2001 [1] 耿素云,屈婉玲,离散数学[M].北京:高等教育出版社<1998.

[2] 左孝凌,李永监,刘永才编著.离散数学[M].上海:上海科学技术文献出版社,2004. [4].主编:刘书田 高等数学上下册 出版社:北京大学出版社 2001

12

本文来源:https://www.bwwdw.com/article/9dba.html

Top