宋婷婷,王琳琳
(長春工程學院,吉林長春 130000)
高等數學是理工科類院校的基礎課程之一,是學習其他專業課的基礎課[1]。高等數學對于很多理工科學生來說,那是一棵高高的“大樹”。一方面,教師講課形式比較單一,以講授法為主,一筆一板,學生被動學習,不能激起學生的學習興趣。另一方面,高等數學內容相對較多,主要包括微分學、積分學。對于學生而言,因為高中對微分學涉獵較多,所以學生易于理解,樂于學習。而高中數學雖對積分也有學習,但比較基礎。又由于積分學在高等數學整個教學的靠后部分,且內容較多,包括定積分、反常積分、重積分、曲線積分、曲面積分等,導致學生學習時,感覺很難理解,所以很多學生產生放棄學習該部分的想法。介于學生對積分學畏難的想法,教師講課形式單一等問題,教師需要調整教學思路、教學方法,使用多媒體手段輔助教學,借助Python 的可視化功能,可以把復雜抽象的積分變化過程以及計算結果準確地模擬出來,讓學生可以更直觀地理解積分過程,激發學生的學習興趣,提升課堂教學效果。
Python語言由荷蘭數學和計算機科學研究學會的吉多·范羅蘇姆于1990年代初設計。Python語言是一種面向對象、解釋型、動態型的編程語言。與其他語言相比較,Python語言具有如下特點:第一,簡單易學,是一種代表簡單思想的語言,優勢在于,使用時,專注于解決問題,而不必注重語言本身語法和結構。第二,面向對象,Python即支持面向過程編程,也支持面向對象編程。面向過程,是以過程為中心,思考出每一個步驟,用函數逐一實現。面向對象,是通過定義出函數與數據的名稱,把事物對象化,方便使用者再次調用。Python的簡潔性使其能夠非常方便快捷地實現面向對象和面向過程編程。第三,免費開源,學習者可以自由地發布軟件,下載、復制、閱讀、修改源代碼,抽取部分功能用于其他軟件中。第四,可移植性,Python語言編寫的程序可以不加修改地在任何平臺上運行,不受限制,即兼容眾多平臺。第五,類庫豐富,Python解釋器擁有豐富的內置類和函數庫,同時通過開源社區又可以找到覆蓋各個應用領域的第三方函數庫,使學習者能夠借助函數庫實現某些復雜的功能[2]。基于上述特點,優選Python作為輔助教學軟件。
對于積分的學習,其一,學生缺乏繪圖能力,空間想象力,不能繪制出函數圖像,導致學生在進行積分運算時,找不到積分區域,進而不能確定積分限。其二,學生對積分的計算方法,積分公式不熟悉,導致學生計算不出結果,認為積分運算太難。基于上述問題,借助Python的可視化功能,快速高效地計算出結果。
定積分是后面計算其他積分的基礎,對于重積分,曲線積分,曲面積分,其計算最終都轉化為定積分的計算。定積分計算時,曲線的形成過程僅僅通過教師講解,板書繪制,學生不能很好理解,利用Python動態演示該過程。下面以心形線為例,利用定積分計算心形線的長度和所圍圖形的面積[3]。
例1 求心形線r=1+cosθ的全長及所圍圖形面積。
程序代碼如下:
程序執行結果:

圖1 心形線
根據心形線圖像,快速準確給出θ的取值范圍[0,2π ]。
程序執行結果:
程序執行結果:
反常積分通常包含兩大類型,第一類為積分區間為無窮的反常積分,第二類為無界函數的反常積分[4]。以積分區間為無窮的反常積分為例。
因為該反常積分的被積函數的原函數不能直接用初等函數表示,所以對該積分直接利用牛頓-萊布尼茨公式計算不出來,但可以考慮利用二重積分計算該反常積分。利用二重積分其中D是由圓心在原點,半徑為a的圓周所圍成的閉區域,其計算結果求解反常積分
雖然通過二重積分可以計算出反常積分,但二重積分屬于高等數學下冊的內容,僅在學習反常積分時,該問題還不能夠被解決。利用Python編程語言的輔助,可以快速計算出結果,利用繪圖功能,畫出被積函數的圖像,幫助學生更好地理解反常積分。
程序代碼如下:
程序執行結果:

圖2 f(x)=e^(-x^2)圖像
積分結果:0.8862269254527579。
從圖像上看,該反常積分表示向右無限延伸的圖形面積,而積分結果是一有限值。
重積分的計算對于學生而言,是積分中的難點之一。一方面,找積分區域困難,另一方面,積分的計算也是問題點,導致學生對該部分的學習失去興趣。通過Python語言繪制出積分區域的圖形,讓學生直觀看到圖形,快速找到積分區域,便于學生對二重積分、三重積分的理解。
程序代碼如下:
程序執行結果:
圖3 給出二重積分的積分區域,進而在計算二重積分時,快速給出積分變量的取值范圍,x的取值范圍[0,1],y的取值范圍[ -x,x]。

圖3 積分區域
程序執行結果:
積分結果:0.5235987755983463
三重積分相較于二重積分,是學生更加難理解的知識點。一方面,需要繪制空間圖形,另一方面,需要將三重積分降重,轉化為二重積分或定積。教師可以利用Python 強大的繪圖功能,將圖形展示給學生,便于學生觀察,有利于找到積分區域。利用其計算功能,通過簡單的幾行代碼就可以計算出結果,雖然只有幾行代碼,但其中蘊含了三重積分的積分思路。讓學生意識到Python語言給數學學習帶來的方便,培養學生對編程語言的興趣。
程序代碼如下:
程序執行結果:
圖4 給出空間閉區域,同時給出在xoy平面上投影區域,即四分之一圓,圓的方程x2+y2≤1,進而確定積分變量的取值范圍,x的取值范圍[0,1],y的取值范圍的取值范圍

圖4 空間閉區域
程序執行結果:
積分結果:0.19634954084936213
Python 的可視化功能有助于學生對高等數學知識點的理解,它像調味劑一樣,給無聊乏味的數學課堂,增添一些趣味性,促進學生對積分知識的學習和理解。同時,讓學生體驗到編程語言給高等數學帶來的優勢,高等數學的思維也為程序的編寫提供了理論基礎。只會編程語言而沒有思維支撐,那么編程語言就無用武之地。