沈新娣
(上海健康醫(yī)學(xué)院,上海201318)
高等數(shù)學(xué)、概率論與數(shù)理統(tǒng)計(jì)、線(xiàn)性代數(shù)等數(shù)學(xué)類(lèi)課程是對(duì)醫(yī)學(xué)類(lèi)院校絕大多數(shù)專(zhuān)業(yè)開(kāi)設(shè)的基礎(chǔ)性必修課程,高等數(shù)學(xué)以函數(shù)作為主要研究對(duì)象,研究求最優(yōu)值、相對(duì)或絕對(duì)變化率、平面圖形面積等的方法,可用于解決實(shí)際生活、生產(chǎn)問(wèn)題。線(xiàn)性代數(shù)作為一種解決離散變量線(xiàn)性關(guān)系問(wèn)題的重要計(jì)算和分析工具,已在控制與決策、經(jīng)濟(jì)管理等領(lǐng)域得到廣泛應(yīng)用。概率論與數(shù)理統(tǒng)計(jì)的理論和方法應(yīng)用于生物、醫(yī)學(xué)、金融以及管理等領(lǐng)域,可解決各種問(wèn)題,這些課程對(duì)學(xué)生思維素質(zhì)的培養(yǎng)和后續(xù)專(zhuān)業(yè)課程的學(xué)習(xí)起著重要的作用。對(duì)于非數(shù)學(xué)類(lèi)專(zhuān)業(yè)來(lái)說(shuō),大學(xué)數(shù)學(xué)的課程內(nèi)容抽象,理論講述枯燥乏味,理論與實(shí)踐分離,導(dǎo)致在學(xué)生數(shù)學(xué)應(yīng)用能力的提高方面收效甚微。專(zhuān)業(yè)課程學(xué)時(shí)多,數(shù)學(xué)等文化基礎(chǔ)類(lèi)課程開(kāi)設(shè)門(mén)數(shù)和學(xué)時(shí)少,給教師的教學(xué)帶來(lái)了諸多不便。另外,數(shù)學(xué)教師缺乏對(duì)相關(guān)專(zhuān)業(yè)技術(shù)的了解,教學(xué)中缺乏生動(dòng)的案例,易使學(xué)生產(chǎn)生“學(xué)數(shù)學(xué)課無(wú)用”的錯(cuò)誤認(rèn)識(shí)。
在大數(shù)據(jù)時(shí)代的背景下,隨著生命科學(xué)大數(shù)據(jù)的迅猛發(fā)展,客觀上要求學(xué)生具備一定理性思維與創(chuàng)新意識(shí)。大學(xué)數(shù)學(xué)教學(xué)內(nèi)容也應(yīng)該嘗試著逐漸從傳統(tǒng)的理論教學(xué)向?qū)嵺`和應(yīng)用過(guò)渡,我們希望學(xué)生具備理性的思維,讓數(shù)學(xué)成為學(xué)生學(xué)習(xí)和科研的工具,并且能利用這個(gè)工具分析和解決一些實(shí)際問(wèn)題,激發(fā)學(xué)生不可估量的創(chuàng)新潛力[1]。所以,我們有必要重新審視數(shù)學(xué)課程,對(duì)其教學(xué)內(nèi)容和知識(shí)體系進(jìn)行優(yōu)化整合,改進(jìn)教學(xué)方法及教學(xué)手段,提高學(xué)生綜合素質(zhì),促進(jìn)學(xué)生終身發(fā)展。
目前計(jì)算機(jī)的應(yīng)用已經(jīng)非常普及,Matlab、Mathematica、Maple、SPSS和SAS等逐漸成為大學(xué)數(shù)學(xué)類(lèi)課程學(xué)習(xí)、教學(xué)和研究的有效工具。數(shù)學(xué)實(shí)驗(yàn)就是在計(jì)算機(jī)系統(tǒng)的幫助下,利用常用數(shù)學(xué)軟件工具解決數(shù)學(xué)問(wèn)題的一種教學(xué)手段,引導(dǎo)學(xué)生借助軟件理解抽象的數(shù)學(xué)理論,自主探索和研究數(shù)學(xué)問(wèn)題,促進(jìn)學(xué)生應(yīng)用能力的提高,是將數(shù)學(xué)科學(xué)轉(zhuǎn)化為數(shù)學(xué)技術(shù)的主要途徑。它要求從問(wèn)題出發(fā),強(qiáng)調(diào)以學(xué)生自己動(dòng)手、動(dòng)腦為主,在教師的指導(dǎo)下用學(xué)到的數(shù)學(xué)知識(shí)和數(shù)學(xué)的軟件來(lái)分析解決一些應(yīng)用問(wèn)題。其意義不僅僅在于使學(xué)生掌握必要的數(shù)學(xué)知識(shí),更重要的在于學(xué)生的獨(dú)立參與,從而提高學(xué)生學(xué)習(xí)數(shù)學(xué)的積極性,培養(yǎng)學(xué)生的動(dòng)手能力、獨(dú)立思考問(wèn)題的能力。事實(shí)上,我們的學(xué)生通過(guò)數(shù)學(xué)實(shí)驗(yàn)課的學(xué)習(xí),大部分能較為熟練地使用數(shù)學(xué)軟件,還有的在大學(xué)生數(shù)學(xué)建模比賽和全國(guó)數(shù)據(jù)挖掘挑戰(zhàn)賽中脫穎而出。
R軟件是套完整的數(shù)據(jù)處理、計(jì)算和制圖軟件系統(tǒng),它是一套開(kāi)源的數(shù)據(jù)分析解決方案,由一個(gè)龐大而活躍的全球性社區(qū)維護(hù)。其功能包括:數(shù)據(jù)存儲(chǔ)和處理系統(tǒng);數(shù)組運(yùn)算工具(其向量、矩陣運(yùn)算方面功能尤其強(qiáng)大);完整連貫的統(tǒng)計(jì)分析工具;優(yōu)秀的統(tǒng)計(jì)制圖功能;簡(jiǎn)便而強(qiáng)大的編程語(yǔ)言,可操縱數(shù)據(jù)的輸入和輸出,可實(shí)現(xiàn)分支、循環(huán),用戶(hù)可自定義功能。除了R軟件之外,現(xiàn)在很多人使用Matlab、Mathematica、SPSS、SAS,但大都用的是盜版軟件。免費(fèi)是R軟件流行的一個(gè)主要因素。不過(guò)R軟件的最大優(yōu)點(diǎn)是出色的可視化圖形、豐富的統(tǒng)計(jì)及高效的更新速度[2]。其主要特點(diǎn)如下。
(1)R軟件的使用入門(mén)很容易,界面簡(jiǎn)潔易懂,有專(zhuān)門(mén)的論壇和資料能夠給予幫助,易于使用。R軟件采用命令行的方式,輸入和輸出結(jié)果,對(duì)計(jì)算機(jī)編程能力要求不高。在遇到困難的時(shí)候,自帶詳細(xì)的幫助文檔,網(wǎng)上也有很豐富的資料便于使用者查詢(xún)。非常適于作為學(xué)生數(shù)學(xué)實(shí)驗(yàn)活動(dòng)的平臺(tái),讓學(xué)生在數(shù)學(xué)實(shí)驗(yàn)活動(dòng)中自行發(fā)現(xiàn)問(wèn)題、解決問(wèn)題,提升能力。
(2)R軟件幾乎兼容全平臺(tái),占用資源少,對(duì)電腦配置要求低。相比動(dòng)輒3G-4G的商業(yè)軟件,R軟件可謂非常節(jié)省,軟件安裝文件僅三十幾兆,甚至還可以在iPhone等移動(dòng)設(shè)備上安裝R程序,所以適于作為大范圍開(kāi)展數(shù)學(xué)實(shí)驗(yàn)活動(dòng)的平臺(tái)。
(3)R軟件包可以自由下載與加載,作為一個(gè)開(kāi)源軟件,R軟件具備豐富的擴(kuò)展包,可以自由加載其他開(kāi)發(fā)者提供的函數(shù)和數(shù)據(jù)包,直接利用可以節(jié)省很多重新編寫(xiě)算法的精力。而且擴(kuò)展包的更新也非???,更新速度以周來(lái)計(jì)算,涵蓋基礎(chǔ)統(tǒng)計(jì)學(xué)、社會(huì)學(xué)、經(jīng)濟(jì)管理、金融、生態(tài)、生物信息等多個(gè)方面[3],學(xué)生可以對(duì)一些科學(xué)前沿的新方法進(jìn)行學(xué)習(xí)和利用。
(4)R軟件具有高效的數(shù)據(jù)處理和保存機(jī)制,完整的數(shù)組和矩陣操作運(yùn)算符以及完整的數(shù)據(jù)分析工具,在數(shù)據(jù)處理和可視化方面的優(yōu)勢(shì)非常明顯,適合學(xué)生分析處理數(shù)據(jù)與建立模型,對(duì)學(xué)習(xí)和科研的幫助非常大。
案例1:導(dǎo)數(shù)計(jì)算,比如要計(jì)算在x=1和x=2時(shí)的導(dǎo)數(shù)值。用R軟件來(lái)實(shí)現(xiàn)這個(gè)運(yùn)算,程序如下:
dx<-deriv(y~x^3,"x");dx#生成導(dǎo)數(shù)公式
x<-1:2#給自變量x賦值
eval(dx)#運(yùn)行求導(dǎo)計(jì)算
[1]1 8#原函數(shù)的計(jì)算結(jié)果
attr(,"gradient")#使用梯度下降法,計(jì)算導(dǎo)數(shù)的結(jié)果x
[1,]3
[2,]12
學(xué)生練習(xí):計(jì)算正弦函數(shù)在x=pi和x=4pi時(shí)的導(dǎo)數(shù)值(pi=圓周率),程序:
dx<-deriv(y~sin(x),"x",func=TRUE);dx#生成導(dǎo)數(shù)公式dx(c(pi,4*pi))
[1]1.224606e-16-4.898425e-16
attr(,"gradient")
x
[1,]-1
[2,]1#計(jì)算結(jié)果
課后思考:如何用R軟件實(shí)現(xiàn)高階求導(dǎo)、偏導(dǎo)數(shù)等計(jì)算?
案例2:定積分的計(jì)算,例如計(jì)算y=x3在[0,10]上的定積分。用R軟件來(lái)實(shí)現(xiàn)這個(gè)運(yùn)算,程序如下:
f1<-function(x)x^3#定義函數(shù)
integrate(f1,0,10)#計(jì)算積分
2500 with absolute error<2.8e-11#計(jì)算結(jié)果
案例3:繪制函數(shù)圖像,比如用R繪制函數(shù)y=x3-5x在[-4,4]上的圖像。
方法:可以使用curve()函數(shù)繪制圖像,使用時(shí)需要向其傳遞一個(gè)關(guān)于變量x的表達(dá)式(見(jiàn)圖1):
程序:curve(x^3-5*x,from=-4,to=4)
圖1 x3-5x在[-4,4]上的圖像
再如:繪制三維圖形,在R中一般用persp()函數(shù)來(lái)繪制,
x<-seq(-10,10,length=30)#x的范圍
y<-x
f<-function(x,y){r<-sqr(tx^2+y^2);10*sin(r)/r}
#二元函數(shù)
z<-oute(rx,y,f)
z[is.na(z)]<-1
oP<-pa(rbg="white")
persp(x,y,z,theta=30,phi=30,expand=0.5,col="lightblue")#參數(shù)設(shè)置
案例4:在線(xiàn)性代數(shù)中可以用R進(jìn)行矩陣的相關(guān)運(yùn)算:
matrix(c(1,2,3,4,5,6,7,8,9),nrow=3)#創(chuàng)建一個(gè)3行3列的矩陣
圖2 函數(shù)
[,1][,2][,3]
[1,]147
[2,]258
[3,]369
>x<-matrix(c(1,2,3,4,5,6,7,8,9),nrow=3)#使用+,-可以在矩陣之間進(jìn)行加法與減法運(yùn)算
>x+x
[,1][,2][,3]
[1,]2814
[2,]41016
[3,]61218
>x-x
[,1][,2][,3]
[1,]000
[2,]000
[3,]000
>x%*%x#使用%*%運(yùn)算符可以求矩陣的乘積
[,1][,2][,3]
[1,]3066 102
[2,]3681 126
[3,]4296 150
>t(x)#使用t()函數(shù),求矩陣的轉(zhuǎn)置矩陣
[,1][,2][,3]
[1,]123
[2,]456
[3,]789
>x<-matrix(c(1,2,3,4),ncol=2)#solve(x)使用solve()函數(shù),可以求矩陣的逆矩陣
>solve(x)
[,1][,2]
[1,]-2 1.5
[2,]1-0.5
案例5:在概率論與數(shù)理統(tǒng)計(jì)的教學(xué)中,利用R軟件做可視化的輔助教學(xué),學(xué)生更容易理解教學(xué)內(nèi)容,提高教學(xué)效果。如在給學(xué)生講概率分布的時(shí)候,本文以二項(xiàng)分布為例,為了讓學(xué)生觀察二項(xiàng)概率的分布特征,教師用R軟件畫(huà)出n=5,P分別取0.1,0.2,0.3……0.9時(shí)候的二項(xiàng)分布Binomial(5,b)的圖。學(xué)生很容易可以看出,當(dāng)P=0.5時(shí),概率分布對(duì)稱(chēng)的;當(dāng)P=0.1時(shí),概率分布右偏;當(dāng)P=0.9時(shí),概率分布左偏。
程序(見(jiàn)圖3):
k=seq(.1,.9,.1)
par(mfrow=c(3,3))
for(i in 1:9)
barplot(dbinom(0:5,5,k[i]),xlab="x",ylab="p",ylim=c(0,.6),
main=substitute(B(5,b),list(b=k[i])))
筆者利用R軟件在概率論與數(shù)理統(tǒng)計(jì)課程中做可視化的教學(xué)嘗試,大大提高了學(xué)生的學(xué)習(xí)積極性,降低了學(xué)習(xí)的難度,提高了他們利用數(shù)學(xué)知識(shí)和軟件解決實(shí)際問(wèn)題的能力,這也是大學(xué)數(shù)學(xué)教學(xué)的最終目標(biāo)。
基于R軟件的實(shí)驗(yàn)教學(xué)方法需要不斷探索與實(shí)踐,并且在教師的教學(xué)過(guò)程中要及時(shí)與實(shí)際問(wèn)題、醫(yī)學(xué)專(zhuān)業(yè)問(wèn)題、國(guó)內(nèi)或者國(guó)際建模大賽、數(shù)據(jù)挖掘比賽等相結(jié)合,滲透數(shù)學(xué)實(shí)驗(yàn)和數(shù)學(xué)文化的思想,讓學(xué)生在教師的指導(dǎo)下在計(jì)算機(jī)上自己動(dòng)手、動(dòng)眼、動(dòng)腦,通過(guò)軟件編程實(shí)驗(yàn),學(xué)習(xí)解決實(shí)際問(wèn)題常用的數(shù)學(xué)方法,并在此基礎(chǔ)上分析,促成數(shù)學(xué)教學(xué)的良性循環(huán),讓學(xué)生看到相關(guān)理論知識(shí)的應(yīng)用前景,努力把學(xué)生培養(yǎng)成實(shí)踐能力強(qiáng)的應(yīng)用型人才。
圖3 二項(xiàng)分布Binomial(5,b)的圖像
參考文獻(xiàn):
[1]侯麗英.理實(shí)融合教學(xué)模式在應(yīng)用型醫(yī)學(xué)本科院校數(shù)學(xué)教學(xué)中的應(yīng)用研究[J].衛(wèi)生職業(yè)教育,2017,35(17):51-53.
[2]趙軍,楊琳.R軟件在大學(xué)數(shù)學(xué)教學(xué)中的應(yīng)用探討[J].高教學(xué)刊,2016(7):93-95.
[3]賈俊平.統(tǒng)計(jì)學(xué)——基于R[M].北京:中國(guó)人民大學(xué)出版社,2014.■