数学实验和数学建模教学中数学软件应用的实例分析
2014-09-17温一新
温一新, 王 涛
(昆明学院数学系,云南昆明650214)
1 引 言
高等教育改革不断深化,实施创新人才培养方案,要求高校培养的本科生既要掌握专业的基本理论和基础方法,又要具备一定的科学研究和创新能力.1992年首届全国大学生数学建模竞赛(CUMCM)开赛.一方面,蓬勃发展的竞赛每年吸引着大批大学生积极参与,推动了各级高校数学专业课程设置产生变革,增设《数学建模》和《数学实验》两门课程,以适应教育对象和教育环境的变化. 在数学专业教师年复一年教给学生的基础知识体系中,提高广大专业和非专业数学学生学习数学知识的兴趣,加深了知识的理解和实际运用,投身科学研究的热情;另一方面互联网与数学软件的快速发展在规模逐年扩大的竞赛中所发挥的作用越来越显著,促使大学生掌握和使用现代化的计算工具和手段,提高熟练运用计算机、互联网和数学软件参与科技探索的能力.
本文对综合类数学软件MATLAB矩阵实验室和Mathematica符号系统计算软件在《数学实验》和《数学建模》两门课的教学中辅助计算积分的不同使用方式进行讨论分析,阐述了数学软件在现代数学应用中的不可或缺性和灵活选怿的必要性.在数学实验课中我们运用软件是以基础知识基本算法与软件编程相结合进行验证为重点,目的是提高学生理解掌握数学知识的实际应用能力.在数学建模课中突出基本知识的实际应用,需要针对不同问题的计算要求灵活使用软件编程.
2 数学实验课教学中定积分计算实例分析
2.1 问题引入
1905年由经济学家马克斯·劳伦茨所提出了表示收入分配的曲线,意大利经济学家基尼在此基础上定义了基尼系数(Gini coefficient),用以判断社会收入分配公平程度的指标.
对某个收入级别,根据一年的收入多少将所有家庭收入者按收入从低到高排列,按人数均分为五份,如下表1所示.一种非常直观的方法度量收入分布不均衡是考虑累积收入数据,如表2所示.
表1 总和收入的百分比分布
表2 总和收入的累积百分比分布
图1 不均衡与完全均衡累积数据图
2.2 问题分析
2.3 定积分的两种计算方法
计算SC可以提示学生,调动主观能动性,联系《数学分析》课中的定积分计算部分的相关基础知识.结合表2的数据,首先尝试使用数值积分的梯形法
学生可以在这个公式的引导下,计算SC的近似值.本问题中有5个数据点.令
y0=0,y1=i5,y2=i4+i5,y3=i3+i4+i5,y4=i2+i3+i4+i5,y5=1,h=0.2,
获知某年统计数据显示,i1=0.413,i2=0.242,i3=0.17,i4=0.129,i5=0.046.经数据拟合得其劳伦兹曲线是y=0.9416x1.8761.两款数学软件的程序如下:
MATLAB计算命令:
①应用trapz( )命令: chx1=0∶0.05∶1;chy1=0.9416*chx1.∧1.8761;squa2=trapz(chx1,chy1); 结果:0.3278.
②应用int( )命令: syms chx2;squa3=int(0.9416*chx2.∧1.8761,0,1); 结果:0.3274.
③Mathematica计算命令:Integrate[y[x],{x,0,1}];结果:0.3274.
在这个《数学实验》课的实例中强调一元定积分的基本概念、几何意义和计算方法在实际问题中的变化,强调教材基础知识在实际问题中的灵活表现,突出具体应用中的数学逻辑思维的运用.这是对基础知识的更深入认识,强化理解,提升数学能力.了解数学软件做为计算工具的作用,熟悉数学知识和与之对应的软件命令,并熟练运用命令进行计算.我们还需要向学生们指出,定积分数值计算方法上还能使用抛物线法,矩形法等,当然这些方法的缺陷是明显的,可以请同学结合定积分定义思考产生这缺陷的根源.在寻找劳伦兹曲线的方法上也是有不同的选择,可以进一步与学生探讨利用数据进行曲线拟合的问题,比如,多项式拟合,回归分析等.通过数学实验方法不断地激发同学们研究数学的兴趣和热情.
3 数学建模课教学中定积分计算实例分析
3.1 赛题简述与问题分析
2010年A题是近年来我国建模竞赛中不可多得的优秀赛题[3],它来自研究课题的加工而成.2009年末命题专家组与命题人到我国最大的生产加油站设备与管理系统的高新技术企业——正星科技有限公司(郑州)调研实际问题,与技术负责人进行深入讨论,用实验罐体做试验,对某加油站进行实时监测,获取大量数据资料(见赛题附件),经过对题目的返复加工和完善,使赛题和参考解答最终于2010年8月专家组会定稿完成.本题的建模和求解需要很强的数学知识(数学分析、空间解析几何、多重积分、优化方法等)和计算能力(数值积分、误差估计、软件编程等).这道赛题体现了近年命题的思路:实际课题的简化,社会热点问题,有较强实际背景的问题.
原赛题中第一问是对实验椭圆柱型油罐的测试数据误差做修正,问题简述如下:由于地基变形等原因,罐体的位置会发生些微变位,图2(a)是罐体纵向倾斜变位示意图,(b)是罐体横截面示意图.这样的结果实际导致罐容表发生改变.按照有关规定,需要对罐容表进行重新标定.
3.2 建立模型
解决问题的核心是计算倾斜变位椭圆柱型油罐内任意高度液面下液体的体积.引导学生们联系定积分应用知识的内容,可以通过二次定积分计算求出体积.建立模型
其中第一个积分计算罐体横截面中的液体面积Sx,见图2(b),这是变上限积分函数,可得到Sx关于hx的函数;第二个积分将Sx对x在[-l,L-l]做定积分,见图2(a),计算出油罐中液体的体积V.
图2 实验椭圆柱罐示意图
3.3 模型计算
在竞赛中学生们依靠学习过的定积分知识能运用积分公式推导,努力得出液体体积V的解析表达式,然后进行数据计算.这样做耗费掉了大量宝贵的竞赛时间,我们应该借助计算机和数学软件的辅助进行更高效的数值计算.
基于上述的数学模型,同时编写MATLAB软件和Mathematica软件程序,在Intel Pentium D (2.8GHz), DDR2 800MHz 4GB的硬件上计算相同的数据量.
以MATLAB为运算平台的主要程序段:
tic;
f=2*a*sqrt(1-y∧2/b∧2);
h=(20∶10∶100)/100;alp=(4∶0.1∶4.5)*pi/180;
for i=1∶length(alp)
for j=1∶length(h)
oh=inline(int(f,y,-b,h(j)-l1*tan(alp(i))-b));
vh(i,j)=quad(oh,l1,-smal,bigl-smal);
end
end
toc;
运算时间平均为101.13836秒.
以Mathematica v5.0为运算平台的主要程序部分与计算结果:
tim1=TimeUsed[ ];
oh[h_]∶=2(Integrate[a Sqrt[1-y2/b2],{y,-b,h-b}]
oa[α_,h_ ]∶=NIntegrate[oh[h-l1 Tan[α]],{l1,-l,L-l}]
liqV=Table[oa[(4+0.1((i-1))(Pi/180,0.2+0.1((j-1)], {i,1,n}, {j,1,m}];
tim2=TimeUsed[ ];
tim2-tim1
运算时间平均为69.7063秒.
图 3 两个程序的计算结果
两个程序可以得出相同的计算结果,如图2示,但也存在一些区别. 由于数学模型中需要做变上限积分函数计算,因此Mathematica程序更精练,编写的程序也与数学逻辑过程相当吻合,较快速.这是因为Mathematica系统提供了最优的符号运算构架.但随着计算量的增大,运行时间会延长.在同样机器性能情况下,MATLAB虽然优化了符号计算,用内联函数(inline())构造函数对象代替编写M文件进行调用,但在符号计算方面不占优势,计算效率劣于Mathematica程序.
在建模实践中我们可以充分利用两款软件的特性,处理不同的计算要求.从这个建模实例,我们应该向学生展示的是数学软件的灵活运用,对于基础知识和基本计算方法应该尽量简化,点到为止.数学建模是本科生一次“真刀真枪”的科研训练,在运用数学软件进行数学计算时更多的是进行综合运用,多重比较,互相检验.
综合上述的分析数学建模教学中对数学软件的使用有着更高的要求,认为某一种软件便可解决所有数学问题的态度是要不得的,在强调创新和实践的课程中需要通过多种软件的互相配合使用,能够高效快速的解决建模问题.
[参 考 文 献]
[1] 飞思科技产品研发中心. MATLAB基础与提高[M]. 北京: 电子工业出版社, 2005.
[2] Martha L Abell, Jamens P Braselton. MATHEMATICA by EXAMPLE[M].3rdEdition. NewYork: Elsevier Academic Press, 2004: 147-148.
[3] 韩中庚.储油罐的变位识别与罐容标定[C]∥2010高教社杯全国大学生数学建模竞赛题A题.北京:全国大学生数学建模竞赛组委会,2010:1-3.