首页 > 范文大全 > 正文

数学建模是推动大学数学教学改革的必经之路

开篇:润墨网以专业的文秘视角,为您筛选了一篇数学建模是推动大学数学教学改革的必经之路范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:现在大学数学的课堂教育完全还是应试教育,明显存在弊端,所以我们必须打破学生们对数学的某些错误的认知。但是大学数学的教学还是这么一成不变,是无法改变这种局面的,这就必须改革。拿什么来改革呢?我们通过一道数学建模题来感受数学建模是推动大学数学教学改革必经之路

关键词:数学建模 弊端 教学改革

在大学里,学生们要学习的数学主要是《高等数学》、《线性代数》、《概率论与数理统计》这三门数学分支学科,他们会遇到不同的数学老师、不同科目的数学考试。大部分学生对数学的认知是数学分类学科都是相互独立的,他们认为高数和线性代数完全是没有联系的,更糟糕的是他们认为数学学了是毫无用处的,而在数学课堂学习数学的目的基本都是为了过期末考试拿学分以及考研。说到考研,就连考研试卷的题目也是明显划分科目界限,微积分就是微积分,线性代数就是线性代数,概率就是概率,更谈不上应用价值了。这样的大学数学的课堂教育完全还是应试教育,明显存在弊端,所以我们必须打破学生们对数学的这些错误的认知。但是大学数学的教学还是这么一成不变,是无法改变这种局面的,这就必须改革。拿什么来改革呢?

首先我们从一道数学建模题目来具体地认知一下大学数学知识的魅力。

【题目】某锁厂生产的锁具,每把钥匙有5个槽,每槽的高度为小于等于6的自然数。并且规定:每把钥匙至少有3个不同高度的槽,且高度为1和6的槽不相邻。问该锁厂共能生产多少把不同的锁(钥匙)?(本问题是1994年全国大学生数学建模竞赛中锁具装箱问题的第一部分。)下面我们来讨论这个问题:

方法1:看到这个题目大家应该很快地想到用排列组合的思想来做。

首先可以求出有5个槽、每个槽有6个高度的所有可能的个数为n1=65=7776。为了满足题目中提出的至少有三个不同的高度,且相邻高差不应为5的要求,我们应该减去不满足要求的锁具。

仅有一个槽高的锁具数目为n2=C61=6。

仅有两个槽高的锁具数目为n3=C62(25-2)=450。

下面要考察相邻槽高之差为5的锁具,为了方便,记相邻槽高之差为5的锁具集合记为A,将A分解为以下4种集合:

A1:16abc 或 61abc

A2:a16bc 或 a61bc

A3:ab16c 或 ab61c

A4:abc16 或 abc61

其中a、b、c可以取“1,2,3,4,5,6”这几个自然数中的任一个。显然∪Ai=A,若记n(B)为集合B中元素的个数,则由集合论的知识得:

n(A)=∑n(Ai)-∑ n(AiAj)+∑ n(AiAjAk)-n(A1A2A3A4)

∑n(Ai)=C41A2263=1728。

A1A2的槽数高为161ab或616ab,故n(A1A2)=2×62=72;同理n(A2A3)=n(A3A4)=72。A1A3为1616a,或1661a,或6116a,或6161a,故n(A1A3)=24;同理n(A1A4)=24,n(A2A4)=24。A1A2A3的槽高为1616a或6161a,故n(A1A2A3)=2×6=12;同理n(A2A3A4)=12。A1A2A4的槽高为16116,或16161,或61616或61661,故n(A1A2A4)=4;同理n(A1A3A4)=4。A1A2A3A4的槽高为16161或61616,故n(A1A2A3A4)=2。故n4=n(A)=1728-3×72-24×3+12×2+4×2-2=1470。

5个槽中仅有两个高度,且相邻高差为5的锁具个数为n5=25-2=30。最后可以得到一批锁具的个数为n1-n2-n3-n4+n5=7776-6-450-1470+30=5880,所以每批锁具有5880把。

方法2:利用集合思想原理及一般化递归的方法。

(1)首先,将这个问题数学化:

问题是求集合A的个数(记为|A|)。

(2)一切研究从最简状态开始。集合A有两个限制条件:①至少有3个不同数字;②1、6不相邻。显然,条件②比①重要得多,也难处理得多,因此,条件②是问题的主要矛盾。为此,我们暂时舍去条件①,集中精力来处理条件②(这也是某种意义下的一般化)。

(3)为了求出|B|,我们进一步一般化(这是关键一步),

因此, B=B5。

(4)由于有了Bk,我们可以讨论Bk的递归结构,也即Bk+1与Bk的关系。为此,进一步将Bk按末位分解,令Bk(m)={n|n∈Bk,且末位是m}。

Bk+1(m)∪Bk(j),m≠1,6

由此Bk+1(1)∪Bk(j),Bk+1(6)∪Bk(j),

由于Bk(i)∩Bk(j)=φ(i≠j)

所以有|Bk+1(m)|=∑|Bk(j)|,m≠1,6

|Bk+1(1)|=∑|Bk(j)|,|Bk+1(6)|=∑|Bk(j)|。

再加上初始条件B1(m)=1(1≤m≤6),可得如下表格:

(5)为了求|A|=|A5|,只要在B5中减去只含1个数字及2个数字的5位数即可。

只含1个数字的5位数共6个,只含2个数字的5位数有:

C42×( 25 -2)+2×C41×( 25 -2)=420

故|A|=|A5|=6306-420-6=5880。

方法3:利用矩阵的运算。

方法3是用来求方法2中提到的|B|,具体如下,先建立矩阵A:

其中A的所有元素之和即2个槽的所有种类数,A2的所有元素之和即为3个槽的所有种类数,类推A4的所有元素之和即为5个槽的所有种类数。设B=A4,

求B的所有元素之和为[1 1 1 1 1 1]・B・[1 1 1 1 1 1]T

=6306,与方法2中的答案一样。

方法4:利用计算机计算。

(1)利用c语言

#include<stdio.h>

void main()

{int a,b,c,d,e,j=0;

for(a=1;a<=6;a++)

{for(b=1;b<=6;b++)

{for(c=1;c<=6;c++)

{for(d=1;d<=6;d++)

{for(e=1;e<=6;e++)

{if(a==b&&a==c&&d==e)continue;

if(a==b&&a==d&&c==e)continue;

if(a==b&&a==e&&c==d)continue;

if(a==d&&a==e&&b==c)continue;

if(a==c&&a==d&&b==e)continue;

if(a==c&&a==e&&b==d)continue;

if(b==c&&b==d&&a==e)continue;

if(b==c&&b==e&&a==d)continue;

if(b==d&&b==e&&a==c)continue;

if(c==d&&c==e&&a==b)continue;

if(a==b&&a==c&&a==d)continue;

if(a==b&&a==c&&a==e)continue;

if(a==c&&a==d&&a==e)continue;

if(a==b&&a==d&&a==e)continue;

if(b==c&&b==d&&b==e)continue;

if(a-b==5||a-b==-5)continue;

if(c-d==5||c-d==-5)continue;

if(d-e==5||d-e==-5)continue;

if(b-c==5||b-c==-5)continue;

j++; }}}}}

printf("%d\n",j);}

(2)利用mathematic

Clear["Global`*"]

a=Table[{i,j,k,l,m},{i,1,6},{j,1,6},{k,1,6},{l,1,6},{m,1,6}];

b=Flatten[a,4];

p1=Length[Union[#1]]?3&;p2=Length[Union[#1]]?4&;p3=Length[Union[#1]]?5&;

Table[c[i]=0,{i,1,3}];

c[1]=Select[b,p1];c[2]=Select[b,p2];c[3]=Select[b,p3];

For[i=1,i?3,i++,d[i]=DeleteCases[DeleteCases[c[i],{___,1,6,___}],{___,6,1,___}]];

n1=Length[d[1]];n2=Length[d[2]];n3=Length[d[3]]

n=n1+n2+n3

m=n/60

g=Join[d[1],d[2],d[3]]

2544

2808

528

5880

98

由于5880种锁,数据太大,这里就不输出,有意者可以将上面程序在mathematica中运行。

首先,我们来看看这道数模题的应用价值。制锁厂在制锁前必须根据制锁规定计算出能生产的不同锁的数量,便于制造出所有不同的锁来装箱分配问题。有人认为这不就是一道纯数学题吗?正是如此才说明我们做的很多数学题大部分就是生活当中的应用问题。但是为什么大家都觉得数学没用呢?问题就在于数学建模问题是原汁原味的生活问题,而传统数学课堂上的数学题都是通过数学语言把生活当中的应用问题经过提炼得到的。这一提炼的过程就是传统数学教学课堂缺失的,从而造成了大家觉得自己平时所做的数学题没有价值。所以提倡现在的大学数学课堂告诉学生这一提炼过程的存在和掌握,即数学建模。

然后再看这道题的三种方法,有初等数学,也有高等数学;有集合理论,也有线性代数。从这点就可看到数学建模活动培养了学生展开广泛的联想与多角度的思考能力以便确定解决问题所需的数学知识与方法。通过建模活动,培养了学生的创造性思维能力、应用数学知识及方法分析处理实际问题的能力、通过自学以获取相关知识的能力。从这一点讲,数学建模活动改变了传统数学教学重知识轻能力、重理论轻应用的教学体系与内容。只有数学建模活动才能联系这些不同的方法,而单纯的大学数学课堂是不能办到的,比如在高数课堂讲集合,是不可能同时讲到线性代数的矩阵的。这就造成了文章开头所说的学生的误区:数学分类学科之间甚至不同领域之间都是独立不可交叉的。这无疑会给学生创造能力的培养带来弊端。

最后还要强调的是由于建模活动的教学一般都是针对某些建模实例进行分析与讨论,因而通常采用双向式教学(即“教师讲,学生听”与“学生讲,教师听”相结合)和讨论式教学等有利于学生能力培养的教学方法,突出了学生的参与性,充分调动了学生学习的积极性,从而提高了教学效率与效果。

由此,数学建模是推动大学数学教学改革的必经之路。

参考文献

[1]陈东彦 李冬梅 王树忠 数学建模.北京:科学出版社,2007,12。

[2]李进华 教育教学改革与教育创新探索.安徽:安徽大学出版社,2008,8。

[3]杨晓玲 马磊 在经济类院校开展数学建模教育意义的探讨[J].云南财贸学院学报,2002,6,118―120。

[4]姜启源 数学模型[M].高等教育出版社, 1993。

[5]基斯・德夫林 数学:新的黄金时代[M].上海:上海教育出版社, 1997。