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

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

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

表3 Mathematica 中與積分相關的部分計算命令格式表
利用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í)行命令可以直接得到二重積分的結果為。注意命令中x 與y 的關系是乘積關系,x 與y 之間要么加空格,要么用“*”表示x 與y 的乘積。
該二重積分計算量較大,運用Mathematica 軟件進行計算可以做到省時省力。
利用Mathematica 可以求解常微分方程、偏微分方程、微分方程組、微分方程數(shù)值求解和微分方程組數(shù)值求解等,主要用到DSolve(求解微分方程)、NDSolve(數(shù)值求解微分方程組)、DSolve-Value(微分方程解) 三個命令,部分命令格式如下頁表 4 所示[7]179-182。

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

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

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

在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 筆記本文檔中可以拖動進行旋轉,從任意角度對三維圖像進行觀察,圖3 所示即為其中的三幅圖像。

利用Mathematica 軟件制作表格功能可以制作精美的表格,可以用于編寫高質量的教材、設計精美的教案、進行高等數(shù)學輔助教學。利用Mathematica 創(chuàng)建一個函數(shù),可以將表達式列表轉換為格式良好的導數(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ù)導數(shù)表,如表5 所示。

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