溫一新, 王 濤
(昆明學(xué)院數(shù)學(xué)系,云南昆明650214)
高等教育改革不斷深化,實(shí)施創(chuàng)新人才培養(yǎng)方案,要求高校培養(yǎng)的本科生既要掌握專業(yè)的基本理論和基礎(chǔ)方法,又要具備一定的科學(xué)研究和創(chuàng)新能力.1992年首屆全國大學(xué)生數(shù)學(xué)建模競賽(CUMCM)開賽.一方面,蓬勃發(fā)展的競賽每年吸引著大批大學(xué)生積極參與,推動(dòng)了各級(jí)高校數(shù)學(xué)專業(yè)課程設(shè)置產(chǎn)生變革,增設(shè)《數(shù)學(xué)建?!泛汀稊?shù)學(xué)實(shí)驗(yàn)》兩門課程,以適應(yīng)教育對(duì)象和教育環(huán)境的變化. 在數(shù)學(xué)專業(yè)教師年復(fù)一年教給學(xué)生的基礎(chǔ)知識(shí)體系中,提高廣大專業(yè)和非專業(yè)數(shù)學(xué)學(xué)生學(xué)習(xí)數(shù)學(xué)知識(shí)的興趣,加深了知識(shí)的理解和實(shí)際運(yùn)用,投身科學(xué)研究的熱情;另一方面互聯(lián)網(wǎng)與數(shù)學(xué)軟件的快速發(fā)展在規(guī)模逐年擴(kuò)大的競賽中所發(fā)揮的作用越來越顯著,促使大學(xué)生掌握和使用現(xiàn)代化的計(jì)算工具和手段,提高熟練運(yùn)用計(jì)算機(jī)、互聯(lián)網(wǎng)和數(shù)學(xué)軟件參與科技探索的能力.
本文對(duì)綜合類數(shù)學(xué)軟件MATLAB矩陣實(shí)驗(yàn)室和Mathematica符號(hào)系統(tǒng)計(jì)算軟件在《數(shù)學(xué)實(shí)驗(yàn)》和《數(shù)學(xué)建?!穬砷T課的教學(xué)中輔助計(jì)算積分的不同使用方式進(jìn)行討論分析,闡述了數(shù)學(xué)軟件在現(xiàn)代數(shù)學(xué)應(yīng)用中的不可或缺性和靈活選懌的必要性.在數(shù)學(xué)實(shí)驗(yàn)課中我們運(yùn)用軟件是以基礎(chǔ)知識(shí)基本算法與軟件編程相結(jié)合進(jìn)行驗(yàn)證為重點(diǎn),目的是提高學(xué)生理解掌握數(shù)學(xué)知識(shí)的實(shí)際應(yīng)用能力.在數(shù)學(xué)建模課中突出基本知識(shí)的實(shí)際應(yīng)用,需要針對(duì)不同問題的計(jì)算要求靈活使用軟件編程.
1905年由經(jīng)濟(jì)學(xué)家馬克斯·勞倫茨所提出了表示收入分配的曲線,意大利經(jīng)濟(jì)學(xué)家基尼在此基礎(chǔ)上定義了基尼系數(shù)(Gini coefficient),用以判斷社會(huì)收入分配公平程度的指標(biāo).
對(duì)某個(gè)收入級(jí)別,根據(jù)一年的收入多少將所有家庭收入者按收入從低到高排列,按人數(shù)均分為五份,如下表1所示.一種非常直觀的方法度量收入分布不均衡是考慮累積收入數(shù)據(jù),如表2所示.
表1 總和收入的百分比分布
表2 總和收入的累積百分比分布
圖1 不均衡與完全均衡累積數(shù)據(jù)圖
計(jì)算SC可以提示學(xué)生,調(diào)動(dòng)主觀能動(dòng)性,聯(lián)系《數(shù)學(xué)分析》課中的定積分計(jì)算部分的相關(guān)基礎(chǔ)知識(shí).結(jié)合表2的數(shù)據(jù),首先嘗試使用數(shù)值積分的梯形法
學(xué)生可以在這個(gè)公式的引導(dǎo)下,計(jì)算SC的近似值.本問題中有5個(gè)數(shù)據(jù)點(diǎn).令
y0=0,y1=i5,y2=i4+i5,y3=i3+i4+i5,y4=i2+i3+i4+i5,y5=1,h=0.2,
獲知某年統(tǒng)計(jì)數(shù)據(jù)顯示,i1=0.413,i2=0.242,i3=0.17,i4=0.129,i5=0.046.經(jīng)數(shù)據(jù)擬合得其勞倫茲曲線是y=0.9416x1.8761.兩款數(shù)學(xué)軟件的程序如下:
MATLAB計(jì)算命令:
①應(yīng)用trapz( )命令: chx1=0∶0.05∶1;chy1=0.9416*chx1.∧1.8761;squa2=trapz(chx1,chy1); 結(jié)果:0.3278.
②應(yīng)用int( )命令: syms chx2;squa3=int(0.9416*chx2.∧1.8761,0,1); 結(jié)果:0.3274.
③Mathematica計(jì)算命令:Integrate[y[x],{x,0,1}];結(jié)果:0.3274.
在這個(gè)《數(shù)學(xué)實(shí)驗(yàn)》課的實(shí)例中強(qiáng)調(diào)一元定積分的基本概念、幾何意義和計(jì)算方法在實(shí)際問題中的變化,強(qiáng)調(diào)教材基礎(chǔ)知識(shí)在實(shí)際問題中的靈活表現(xiàn),突出具體應(yīng)用中的數(shù)學(xué)邏輯思維的運(yùn)用.這是對(duì)基礎(chǔ)知識(shí)的更深入認(rèn)識(shí),強(qiáng)化理解,提升數(shù)學(xué)能力.了解數(shù)學(xué)軟件做為計(jì)算工具的作用,熟悉數(shù)學(xué)知識(shí)和與之對(duì)應(yīng)的軟件命令,并熟練運(yùn)用命令進(jìn)行計(jì)算.我們還需要向?qū)W生們指出,定積分?jǐn)?shù)值計(jì)算方法上還能使用拋物線法,矩形法等,當(dāng)然這些方法的缺陷是明顯的,可以請(qǐng)同學(xué)結(jié)合定積分定義思考產(chǎn)生這缺陷的根源.在尋找勞倫茲曲線的方法上也是有不同的選擇,可以進(jìn)一步與學(xué)生探討利用數(shù)據(jù)進(jìn)行曲線擬合的問題,比如,多項(xiàng)式擬合,回歸分析等.通過數(shù)學(xué)實(shí)驗(yàn)方法不斷地激發(fā)同學(xué)們研究數(shù)學(xué)的興趣和熱情.
2010年A題是近年來我國建模競賽中不可多得的優(yōu)秀賽題[3],它來自研究課題的加工而成.2009年末命題專家組與命題人到我國最大的生產(chǎn)加油站設(shè)備與管理系統(tǒng)的高新技術(shù)企業(yè)——正星科技有限公司(鄭州)調(diào)研實(shí)際問題,與技術(shù)負(fù)責(zé)人進(jìn)行深入討論,用實(shí)驗(yàn)罐體做試驗(yàn),對(duì)某加油站進(jìn)行實(shí)時(shí)監(jiān)測,獲取大量數(shù)據(jù)資料(見賽題附件),經(jīng)過對(duì)題目的返復(fù)加工和完善,使賽題和參考解答最終于2010年8月專家組會(huì)定稿完成.本題的建模和求解需要很強(qiáng)的數(shù)學(xué)知識(shí)(數(shù)學(xué)分析、空間解析幾何、多重積分、優(yōu)化方法等)和計(jì)算能力(數(shù)值積分、誤差估計(jì)、軟件編程等).這道賽題體現(xiàn)了近年命題的思路:實(shí)際課題的簡化,社會(huì)熱點(diǎn)問題,有較強(qiáng)實(shí)際背景的問題.
原賽題中第一問是對(duì)實(shí)驗(yàn)橢圓柱型油罐的測試數(shù)據(jù)誤差做修正,問題簡述如下:由于地基變形等原因,罐體的位置會(huì)發(fā)生些微變位,圖2(a)是罐體縱向傾斜變位示意圖,(b)是罐體橫截面示意圖.這樣的結(jié)果實(shí)際導(dǎo)致罐容表發(fā)生改變.按照有關(guān)規(guī)定,需要對(duì)罐容表進(jìn)行重新標(biāo)定.
解決問題的核心是計(jì)算傾斜變位橢圓柱型油罐內(nèi)任意高度液面下液體的體積.引導(dǎo)學(xué)生們聯(lián)系定積分應(yīng)用知識(shí)的內(nèi)容,可以通過二次定積分計(jì)算求出體積.建立模型
其中第一個(gè)積分計(jì)算罐體橫截面中的液體面積Sx,見圖2(b),這是變上限積分函數(shù),可得到Sx關(guān)于hx的函數(shù);第二個(gè)積分將Sx對(duì)x在[-l,L-l]做定積分,見圖2(a),計(jì)算出油罐中液體的體積V.
圖2 實(shí)驗(yàn)橢圓柱罐示意圖
在競賽中學(xué)生們依靠學(xué)習(xí)過的定積分知識(shí)能運(yùn)用積分公式推導(dǎo),努力得出液體體積V的解析表達(dá)式,然后進(jìn)行數(shù)據(jù)計(jì)算.這樣做耗費(fèi)掉了大量寶貴的競賽時(shí)間,我們應(yīng)該借助計(jì)算機(jī)和數(shù)學(xué)軟件的輔助進(jìn)行更高效的數(shù)值計(jì)算.
基于上述的數(shù)學(xué)模型,同時(shí)編寫MATLAB軟件和Mathematica軟件程序,在Intel Pentium D (2.8GHz), DDR2 800MHz 4GB的硬件上計(jì)算相同的數(shù)據(jù)量.
以MATLAB為運(yùn)算平臺(tái)的主要程序段:
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;
運(yùn)算時(shí)間平均為101.13836秒.
以Mathematica v5.0為運(yùn)算平臺(tái)的主要程序部分與計(jì)算結(jié)果:
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
運(yùn)算時(shí)間平均為69.7063秒.
圖 3 兩個(gè)程序的計(jì)算結(jié)果
兩個(gè)程序可以得出相同的計(jì)算結(jié)果,如圖2示,但也存在一些區(qū)別. 由于數(shù)學(xué)模型中需要做變上限積分函數(shù)計(jì)算,因此Mathematica程序更精練,編寫的程序也與數(shù)學(xué)邏輯過程相當(dāng)吻合,較快速.這是因?yàn)镸athematica系統(tǒng)提供了最優(yōu)的符號(hào)運(yùn)算構(gòu)架.但隨著計(jì)算量的增大,運(yùn)行時(shí)間會(huì)延長.在同樣機(jī)器性能情況下,MATLAB雖然優(yōu)化了符號(hào)計(jì)算,用內(nèi)聯(lián)函數(shù)(inline())構(gòu)造函數(shù)對(duì)象代替編寫M文件進(jìn)行調(diào)用,但在符號(hào)計(jì)算方面不占優(yōu)勢(shì),計(jì)算效率劣于Mathematica程序.
在建模實(shí)踐中我們可以充分利用兩款軟件的特性,處理不同的計(jì)算要求.從這個(gè)建模實(shí)例,我們應(yīng)該向?qū)W生展示的是數(shù)學(xué)軟件的靈活運(yùn)用,對(duì)于基礎(chǔ)知識(shí)和基本計(jì)算方法應(yīng)該盡量簡化,點(diǎn)到為止.數(shù)學(xué)建模是本科生一次“真刀真槍”的科研訓(xùn)練,在運(yùn)用數(shù)學(xué)軟件進(jìn)行數(shù)學(xué)計(jì)算時(shí)更多的是進(jìn)行綜合運(yùn)用,多重比較,互相檢驗(yàn).
綜合上述的分析數(shù)學(xué)建模教學(xué)中對(duì)數(shù)學(xué)軟件的使用有著更高的要求,認(rèn)為某一種軟件便可解決所有數(shù)學(xué)問題的態(tài)度是要不得的,在強(qiáng)調(diào)創(chuàng)新和實(shí)踐的課程中需要通過多種軟件的互相配合使用,能夠高效快速的解決建模問題.
[參 考 文 獻(xiàn)]
[1] 飛思科技產(chǎn)品研發(fā)中心. MATLAB基礎(chǔ)與提高[M]. 北京: 電子工業(yè)出版社, 2005.
[2] Martha L Abell, Jamens P Braselton. MATHEMATICA by EXAMPLE[M].3rdEdition. NewYork: Elsevier Academic Press, 2004: 147-148.
[3] 韓中庚.儲(chǔ)油罐的變位識(shí)別與罐容標(biāo)定[C]∥2010高教社杯全國大學(xué)生數(shù)學(xué)建模競賽題A題.北京:全國大學(xué)生數(shù)學(xué)建模競賽組委會(huì),2010:1-3.