李守金
(濰坊科技學(xué)院 通識(shí)學(xué)院,山東 濰坊 262700)
高等數(shù)學(xué)是高等院校許多專業(yè)開設(shè)的重要基礎(chǔ)課程,是對(duì)學(xué)生的數(shù)學(xué)思想、數(shù)學(xué)文化、數(shù)學(xué)方法、數(shù)學(xué)素養(yǎng)以及數(shù)學(xué)能力進(jìn)行綜合培養(yǎng)和提高的關(guān)鍵課程,是學(xué)生學(xué)習(xí)后繼數(shù)學(xué)課程和專業(yè)課程以及現(xiàn)代科學(xué)技術(shù)知識(shí)的基礎(chǔ)。高等數(shù)學(xué)教學(xué)改革經(jīng)過多年的探索和實(shí)踐,取得了許多成效,但是在有的高等院校,高等數(shù)學(xué)作為一門重要的基礎(chǔ)理論課程,基本上是沿用和繼承固有體系,人才培養(yǎng)目標(biāo)難以實(shí)現(xiàn)[1]。劉熙娟利用Mathematica 符號(hào)演算、數(shù)值計(jì)算、圖形處理三種功能解決高等數(shù)學(xué)教學(xué)中遇到的實(shí)際問題,以改善高等數(shù)學(xué)課堂教學(xué)[2]。劉雄偉闡述了將Mathematica 融入高等數(shù)學(xué)教學(xué),豐富高等數(shù)學(xué)的教學(xué)手段[3]。王紹恒提出將Mathematica 軟件與大學(xué)數(shù)學(xué)整合可以改善課程教學(xué)硬件,提高課堂教學(xué)效率[4]。
1988 年,由美國(guó)物理學(xué)家、數(shù)學(xué)家Stephen Wolfram 領(lǐng)導(dǎo)的團(tuán)隊(duì)開發(fā)了一款數(shù)學(xué)軟件Mathematica。Mathematica 軟件和 Wolfram 語(yǔ)言集成了科學(xué)計(jì)算領(lǐng)域先進(jìn)的技術(shù),Mathematica 很好地結(jié)合了數(shù)值和符號(hào)計(jì)算引擎、圖形系統(tǒng)、編程語(yǔ)言、文本系統(tǒng)、和與其他應(yīng)用程序的高級(jí)連接[5],充分展示了科學(xué)計(jì)算的強(qiáng)大能力,在全球范圍內(nèi)推動(dòng)著科技創(chuàng)新。Mathematica 軟件從1988 年發(fā)布的 Mathematica1.0 到 2021 年 的 Mathematica 12.3,系統(tǒng)功能不斷完善和增強(qiáng),其應(yīng)用更加快速、流暢和便捷。Mathematica 軟件是數(shù)學(xué)和物理學(xué)領(lǐng)域的主要科研工具,在計(jì)算機(jī)科學(xué)、生命科學(xué)、信息科學(xué)、工程計(jì)算和金融等諸多領(lǐng)域,Mathematica軟件也得到了廣泛應(yīng)用[6]1。Mathematica 作為高等數(shù)學(xué)實(shí)驗(yàn)教學(xué)重要軟件之一,被廣泛應(yīng)用于高等數(shù)學(xué)實(shí)驗(yàn)教學(xué)中,用戶創(chuàng)建并編輯筆記本文檔,可以進(jìn)行數(shù)值計(jì)算、符號(hào)或代數(shù)運(yùn)算、圖像處理、表格制作和編程等。高等數(shù)學(xué)大部分計(jì)算和作圖都可以使用Mathematica 輔助完成,也可以直接使用wolfarm公司的專業(yè)數(shù)學(xué)計(jì)算網(wǎng)站[7]41。例如求,可以直接輸入表達(dá)式,然后按Enter 鍵或點(diǎn)擊“=”便會(huì)得到結(jié)果。如果不會(huì)輸入命令,可以單擊命令輸入框下方的Examples 查看示例輸入,或者直接輸入Sin(x)2,網(wǎng)站自動(dòng)提供求導(dǎo)結(jié)果及過程,還會(huì)得到與之相關(guān)的數(shù)學(xué)運(yùn)算及其運(yùn)算過程。
在近二十年的算法開發(fā)中,Wolfram 語(yǔ)言建立一個(gè)數(shù)值計(jì)算的新層次。特別是它的許多高效原算法,自動(dòng)算法選擇的方法論,系統(tǒng)范圍支持自動(dòng)誤差追蹤和任意精度算法。Mathematica 中的數(shù)值分為整數(shù)、有理數(shù)、實(shí)數(shù)和復(fù)數(shù)四種類型。利用Mathematica 符號(hào)計(jì)算功能可以求出數(shù)學(xué)表達(dá)式的精確解,如果需要其近似解,可以使用數(shù)值計(jì)算N 命令計(jì)算任意指定精度的近似值,相反也可以對(duì)求得的近似值進(jìn)行有理近似。N 命令格式如表1 所示[7]67。

表1 Mathematica 數(shù)值計(jì)算的命令格式表
微積分是學(xué)習(xí)高等數(shù)學(xué)的重點(diǎn)和難點(diǎn)內(nèi)容,其中蘊(yùn)含著各種變換和運(yùn)算技巧。在微積分的學(xué)習(xí)過程中,學(xué)生只要掌握微積分的本質(zhì)及其數(shù)學(xué)思想方法,對(duì)于微積分的許多問題都可以借助于Mathematica 的符號(hào)計(jì)算功能來實(shí)現(xiàn)。
利用Mathematica 可以求解一元或多元函數(shù)極限,求一元函數(shù)極限的Mathematica 計(jì)算命令格式:Limit [f[x],x→x0(或 x→∞)],求多元函數(shù)極限的Mathematica 命令格式:Limit[f[x1,…,xn],{x1→x1*,…,xn→xn*}]。
此例極限求解較為復(fù)雜,計(jì)算量較大,利用Mathematica 軟件可以輔助計(jì)算。在Mathematica 筆記本文檔輸入極限計(jì)算命令:,同時(shí)按下Shift+Enter 運(yùn)行便得出結(jié)果為。
也可以使用專業(yè)數(shù)學(xué)計(jì)算網(wǎng)站http://www.wolframalpha.com/,在輸入框內(nèi)輸入上述極限計(jì)算命令后,按Enter 健或單擊輸入框右邊的“=”按鈕,即可顯示出計(jì)算結(jié)果。點(diǎn)擊網(wǎng)頁(yè)上的“Step-bystep solution”按鈕,會(huì)顯示詳細(xì)的解題步驟,核查計(jì)算步驟存在的問題,便于學(xué)習(xí)者自學(xué)。
利用Mathematica 可以求一元顯函數(shù)的n階導(dǎo)數(shù)或微分、隱函數(shù)及由參數(shù)方程所確定的函數(shù)的導(dǎo)數(shù)、多元顯函數(shù)的n階偏導(dǎo)數(shù)或偏微分、多元函數(shù)的全微分、符號(hào)函數(shù)的導(dǎo)數(shù)以及方向?qū)?shù)與梯度等。Mathematica 求函數(shù)導(dǎo)數(shù)或微分的計(jì)算命令格式,如表2 所示[7]106-108。

表2 Mathematica 中求函數(shù)的導(dǎo)數(shù)或微分的計(jì)算表
用 D[f[x,y],x]求導(dǎo)時(shí),若 y 是 x 的函數(shù),要使用選擇項(xiàng)NonConstants→{y}說明y 是非常量,若不注明,Mathematica 默認(rèn) y 為常量;用 Dt [f[x,y],x]求導(dǎo)時(shí),若y 是常量,要使用選擇項(xiàng)Constants→{y}說明y 是常量,若不注明,Mathematica 默認(rèn)y為非常量。
在Mathematica 筆記本輸入命令:Dt[x+Sin[y/2]+Exp[yz]],執(zhí)行命令得到計(jì)算結(jié)果:Dt[x]+1/2Cos[y/2]Dt[y]+eyzDt[yz],即。
利用Mathematica 可以計(jì)算函數(shù)的不定積分、定積分、重積分;計(jì)算無窮區(qū)間上的廣義積和無界函數(shù)的廣義積分;計(jì)算曲線積分和曲面積分;進(jìn)行積分變換;還可以求符號(hào)函數(shù)或抽象函數(shù)的不定積分。部分計(jì)算命令格式如下頁(yè)表3 所示。

表3 Mathematica 中與積分相關(guān)的部分計(jì)算命令格式表
利用Mathematica 作出圍成的閉區(qū)域,如圖1所示。

圖1 拋物線y2=x 及直線y=x-2 圍成的閉區(qū)域圖
上圖圍成的閉區(qū)域可以看作Y 型區(qū)域:


在Mathematica 筆記本輸入命令:Integrate[x y,{y,-1,2},{x,y^2,y+2}],或者直接輸入:,執(zhí)行命令可以直接得到二重積分的結(jié)果為。注意命令中x 與y 的關(guān)系是乘積關(guān)系,x 與y 之間要么加空格,要么用“*”表示x 與y 的乘積。
該二重積分計(jì)算量較大,運(yùn)用Mathematica 軟件進(jìn)行計(jì)算可以做到省時(shí)省力。
利用Mathematica 可以求解常微分方程、偏微分方程、微分方程組、微分方程數(shù)值求解和微分方程組數(shù)值求解等,主要用到DSolve(求解微分方程)、NDSolve(數(shù)值求解微分方程組)、DSolve-Value(微分方程解) 三個(gè)命令,部分命令格式如下頁(yè)表 4 所示[7]179-182。

表4 Mathematica 中DSolve 與NDSolve 的部分計(jì)算命令格式表
例4 微分方程y''-2y'+5y=0 的通解[8]341。
利用Mathematica 的DSolve 命令輸入:DSolve[y''[x]-2y'[x]+5y[x]==0,y[x],x],執(zhí)行命令輸出運(yùn)算結(jié)果:{{y[x]→exC2Cos[2 x]+exC1Sin[2 x]}},即:y=ex(C2cos2x+C1sin2x)。
利用Mathematica 可以進(jìn)行級(jí)數(shù)的相關(guān)計(jì)算。利用Sum 可以求級(jí)數(shù)的和,利用Product 可以求級(jí)數(shù)的積,利用Series 可以將函數(shù)展成冪級(jí)數(shù),利用FourierTrigSeries 可以將周期函數(shù)展成傅立葉級(jí)數(shù),利用D 可以對(duì)冪級(jí)數(shù)進(jìn)行逐項(xiàng)求導(dǎo)運(yùn)算,利用Intergrate 可以對(duì)冪級(jí)數(shù)進(jìn)行逐項(xiàng)積分運(yùn)算等。
用Series 將函數(shù)f(x)在點(diǎn)x0展成冪級(jí)數(shù)命令格式:Series[f,{x,x0,n}]。
例5 將函數(shù)f(x)=ex展開成x的冪級(jí)數(shù)。
在Mathematica 筆記本輸入命令:Series[Exp[x],{x,0,7}],執(zhí)行命令后得到f(x)=ex在x=0 點(diǎn)直到 7次的冪級(jí)數(shù)展開式:。
利用Mathematica 還可以進(jìn)行函數(shù)極值的搜索、向量的相關(guān)計(jì)算等。
數(shù)學(xué)圖像最早采用的是列表、描點(diǎn)、連線的方式作圖,這樣的手工作圖僅能制作比較簡(jiǎn)單的、有規(guī)律可循的函數(shù)圖像,對(duì)于比較復(fù)雜的函數(shù)圖像,即使學(xué)習(xí)了高等數(shù)學(xué)中函數(shù)圖形的描繪,在作圖時(shí)也很困難,甚至無法實(shí)現(xiàn)。Mathematica 具有強(qiáng)大的圖像處理功能,利用Mathematica 幾乎可以實(shí)現(xiàn)所有高等數(shù)學(xué)的作圖問題。Mathematica 可以繪制出精確精美的二維或三維彩色圖像,可以繪制連續(xù)函數(shù)圖像、離散函數(shù)圖像、點(diǎn)圖,可以繪制函數(shù)直角坐標(biāo)方程、極坐標(biāo)方程、參數(shù)方程所對(duì)應(yīng)的圖像,可以實(shí)現(xiàn)動(dòng)畫演示等。在高等數(shù)學(xué)教學(xué)中利用Mathematica 作圖功能進(jìn)行輔助教學(xué),可以增強(qiáng)學(xué)生對(duì)抽象的數(shù)學(xué)概念和數(shù)學(xué)思想方法的直觀認(rèn)識(shí)。
利用Mathematica 作出二維圖像進(jìn)行高等數(shù)學(xué)的直觀教學(xué),比如函數(shù)的性質(zhì)、函數(shù)的連續(xù)性、函數(shù)的極限、函數(shù)的極值、微分方程的解等。
Mathematica 中繪制二維圖像的內(nèi)置函數(shù)有許多,其中 Plot 的格式為:Plot[f[x],{x,a,b},圖形選項(xiàng),表示的意義是畫出函數(shù)f(x)在區(qū)間[a,b]上的圖像。利用Plot 可以作出一個(gè)或者多個(gè)函數(shù)的二維圖像。
在函數(shù)的極值的教學(xué)中,可以利用Mathematica 中Plot 作處函數(shù)的二維圖形,根據(jù)函數(shù)極值的第二充分條件,利用Mathematica 相關(guān)命令可以標(biāo)記函數(shù)的局部極值點(diǎn)。
輸入以下命令:

執(zhí)行命令后得到所求函數(shù)的圖像,如下頁(yè)圖2所示。

利用Mathematica 可以作出既精美又直觀的三維函數(shù)圖像。在空間解析幾何和重積分教學(xué)中,由于部分學(xué)生的空間思維能力的不強(qiáng)導(dǎo)致其難以掌握三維函數(shù)知識(shí),因此,利用Mathematica 作出三維圖像輔助教學(xué)就顯得尤為重要。
使用Plot3D 繪制三維圖像的基本命令格式:Plot3D[f,{x,a,b},{y,c,d},圖像選項(xiàng)]或 Plot3D[{f1,f2…},{x,a,b},{y,c,d},圖像選項(xiàng)]。

在Mathematica 筆記本輸入命令:
Plot3D [{5*Sqrt [x^2/2^2-y^2/3^2-1],-5*Sqrt[x^2/2^2-y^2/3^2-1]}, {x,-20,20}, {y,-20,20},AxesLabel→{x,y,z}]
執(zhí)行命令后得到雙葉雙曲面的三維圖像,在Mathematica 筆記本文檔中可以拖動(dòng)進(jìn)行旋轉(zhuǎn),從任意角度對(duì)三維圖像進(jìn)行觀察,圖3 所示即為其中的三幅圖像。

利用Mathematica 軟件制作表格功能可以制作精美的表格,可以用于編寫高質(zhì)量的教材、設(shè)計(jì)精美的教案、進(jìn)行高等數(shù)學(xué)輔助教學(xué)。利用Mathematica 創(chuàng)建一個(gè)函數(shù),可以將表達(dá)式列表轉(zhuǎn)換為格式良好的導(dǎo)數(shù)表。執(zhí)行以下命令:
makeDerivativeTable[funs_List,x_]:=Grid[Prepend[Transpose [{funs,D [funs,x]}],Style [#,F(xiàn)ontWeight →Bold]&/@{HoldForm[f[x]],HoldForm[f'[x]]}],Grid options+//TraditionalForm;
makeDerivativeTable[{Sin[x],Cos[x],Tan[x],Arc-Sin[x],ArcCos[x],ArcTan[x]},x],可以制作出三角函數(shù)導(dǎo)數(shù)表,如表5 所示。

表5 利用Mathematica 制作的三角函數(shù)導(dǎo)數(shù)表
Mathematica 作為被廣泛運(yùn)用的數(shù)學(xué)軟件[9],具有內(nèi)容豐富、功能強(qiáng)大、界面友好、使用簡(jiǎn)單等優(yōu)點(diǎn)。Mathematica 所處理的內(nèi)容十分豐富,涵蓋了數(shù)學(xué)應(yīng)用的許多分支,如微積分、微分方程、線性代數(shù)、復(fù)變函數(shù)、概率與統(tǒng)計(jì)等,是進(jìn)行數(shù)學(xué)研究及計(jì)算的有力工具[10]。利用Mathematica 數(shù)值計(jì)算功能可以進(jìn)行眾多數(shù)學(xué)表達(dá)式的精確值求解,也可以計(jì)算任意指定精度的近似值,可以彌補(bǔ)人類計(jì)算能力的不足。利用Mathematica 符號(hào)演算功能可以進(jìn)行邏輯嚴(yán)密的數(shù)學(xué)推導(dǎo),適合于進(jìn)行課堂教學(xué),因此,其為高等數(shù)學(xué)教學(xué)提供了強(qiáng)有力的支撐。Mathematica 具有強(qiáng)大的繪圖功能,可以繪制出各種精美的平面或空間彩色圖形,還可以實(shí)現(xiàn)圖像的動(dòng)畫效果,彌補(bǔ)了學(xué)生空間想象能力和圖像動(dòng)態(tài)想象能力的不足,提高了圖形的視覺效果,增加了學(xué)生對(duì)有關(guān)數(shù)學(xué)概念或方法的感性認(rèn)識(shí)。鑒于Mathematica 精美圖與表的制作功能,可以用于編寫教材。基于Mathematica 軟件學(xué)數(shù)學(xué)、做數(shù)學(xué),能夠把數(shù)學(xué)學(xué)習(xí)變得更有趣,可以提高學(xué)生學(xué)習(xí)數(shù)學(xué)的興趣,培養(yǎng)學(xué)生的創(chuàng)新精神和數(shù)學(xué)素養(yǎng)。利用Mathematica 輔助高等數(shù)學(xué)的教與學(xué),可以彌補(bǔ)傳統(tǒng)教學(xué)方法的不足,從而提高教學(xué)質(zhì)量。