劉加菊
(湖南電氣職業技術學院)
在信息技術被運用到教育領域后,“教與學”的形式均有所改變。線上教學不斷普及下,學生對于課程選擇與知識記憶方面有明顯的需求。常規課堂教學也不再局限在板書上,為滿足學生高效吸收知識的需要,教師應當通過各種方法優化授課效率。而Python可提供繪圖功能,將各類定理、幾何意義以動態圖像的形式呈現出來,便于學生提煉知識,加強理解。
Python在1991年誕生,時至今日已經成為一種主流編程語言,被用到爬蟲與數據處理等方面。Python屬于面向目標的解釋性語言,便于維護、拓展、讀取,并具有較強的可移植性。其分成2.x與3.x版本,直至2020年,前者已經不再維護,所以在教學實踐中都要選擇3.x版本。Python應用優勢具體表現在標準庫,覆蓋范圍廣,而且支持跨平臺運行。該標準庫能夠進行不同功能模塊與函數運行,新內容也被保存在標準庫中,讓Python實際功能愈發強大。同時,Python是通過縮進方式將程序塊結構進行分層處理,編寫代碼規格標準,便于讀取使用[1]。
Matplotlib為Python中 的二維繪圖庫,工具相對齊全,包含等高線圖、散點圖、線圖與柱狀圖等許多繪圖函數,而且能生成圖形動畫等更加高端的繪制內容。另外,該繪圖庫也具備交互功能,支持動態調整繪圖參數,這便于在教學過程中使用。而且此繪圖庫中還設有坐標軸與圖例等多個子模塊,可以給教師提供多種繪圖樣式。在面對三維繪圖需要中,Python中在此繪圖庫的基礎上,搭配mpl_tookits工具包,在不用設置大量代碼的前提下,就能繪制出所需的三維圖像。同時,此繪圖庫還設有Python圖像用戶界面的接口,能夠與pyqt單元整合運用。選擇Matplotlib生成圖像,隨后利用pyqt完成前端展示,這是Python實現可視化的主要方式。
首先,內置函數。Python中的內置函數,很多是為支持某個系統功能,實施邏輯判斷以及類型轉換。其在Python啟動過程中一同加載,教師能直接應用。其次,math模塊。例如三角函數、指數函數等眾多符號運算、數值計算的函數,均未被歸納到內置函數范圍內,直接保存在math庫里。調取math庫的函數中,教師能提前利用下達系統命令完成加載,隨后以“math.函數名”實現調用。另外,也能直接提出“from math import *”的指令,完成math庫的加載,之后便可編輯函數名稱實現調用。而在實際應用中,如果進行同時加載,會令運行中的第三方庫數量偏多,容易面臨函數重名的情況,不利于精確使用。最后,sympy(數學符號函數庫)。在利用Python開展符號運算教學中,應當要加載sympy函數庫,其可以讓Python轉化成代數系統。值得注意的是,微積分符號運算教學中,要提前定義會遇到的全部代數字母。此環節能借助“symbols()”輔助定義數個字母,過程中要關注字母大小寫的問題。
1.任意指定性質函數
(1)隨機函數。隨機屬于概率學領域的概念之一,隨機也是數學討論的主要方向,同時在密碼學中也有涉及。隨機數能分成真與偽兩類,前者一般是通過物理過程,如量子效應;后者按照特定數學算法形成,自身存在一定規律性,只不過由于循環周期過長,將其視為隨機,相關算法有很多,如RAND、線性與非線性同余法[2]。此處利用Python把隨機數形成過程以可視化的方式呈現出來,實質上是偽隨機數,但在微積分教學下,足夠讓學生了解隨機數。把隨機數與函數整合起來,確認x定義域和待生成點的數量(n),設置映射值域,借助Python中random函數便能得到n個通過隨機算法形成的yi。定義域選擇在[-5,5],而值域是[-2,2],按照點對(xi,yi),便能生成相應的散點圖以及折線圖。該過程完全是隨機的,所有(xi,yi)函數值均為隨機賦予,這會令生成圖像比較雜亂。在微積分教學中,利用Python可視化生成任意隨機函數相應的操作程序為:自建動圖、新函數、新增隨機函數、任意函數,隨后選擇定義域與值域,“確定”后返回操作主頁面開始“運行”,直接能得出函數圖像結果。
(2)連續函數。繪制任意連續函數(y=f(x))圖像中,僅需在任意隨機函數的基礎上,調整y的取值方式即可。按照連續表達如下:


所以隨機形成第一個點,之后的函數點便可按照以上方法形成點對。借助Python中的對應函數,能夠按照指定區間,形成滿足均勻分布的點,繼而產生y。微積分教學中,因為計算機既有限制以及Python按點繪線的特征,應當提前設置與,而二者能直接選取較小值,這樣能提高繪制曲線的平滑度。
(3)可導函數。針對該類函數的繪制,考慮到Python僅能以離散點作為目標進行繪圖,因而實際教學中可運用的繪圖程序為:第一步,設置與,兩者能對y與x數值間隔進行調整,同時還可以設置定義域。第二步,基于定義域左端,隨機選出函數第一個點,即(x1,y1)。第三步,形成第二個點,其橫坐標是x2,令x2-x1=,符合領域標準。根據連續性要求,形成f(x2),讓前兩個點符合連續性。第四步,形成第三個點x3坐標,令x3-x2=,根據可導要求得到f(x3)。第五步,重復上一步操作,借助前兩個點得出后面的可導點,直至達到定義域的右端點。通過把微積分內容利用Python進行可視化處理,讓學生直接看到可導函數圖像,并且在不設置限制條件的情況下,可導函數能形成“趨勢”,結果和該函數基本特征一致。
2.微積分重要定義
(1)導數定義。在微積分學科中,導數是極為關鍵的概念,學生如若要快速使用導數解出問題,應當先明確導數概念與幾何意義[3]。為可以動態化顯示出其定義,用幾何形式呈現,先要在曲線上確認點x0,以此為基礎畫出切線。在x0周邊選出x1點,畫出二者對應割線,而后調整x1取值,讓其不斷靠近x0,將該過程中的割線情況進行動態呈現。這樣能夠使學生以比較直觀的狀態,體會從割線變為切線的幾何規律,繼而形成對導數定義的認識。實踐教學演示期間,為便于課上演示操作,教師應當把導數定義直接當成案例保存在資料庫內,按照“自建動圖”“趣味案例”“導數的幾何意義”完成參數設置。隨后教師能直接選擇現有的函數形式圖像與默認第一個點x0,或是自定義函數,在相應定義域中選擇x0,“確定”后便能立即獲得相應的幾何動態演示。
(2)極限定義。在講解“極限”部分的知識中,為讓學生可以清楚地認識道“極限”概念,大多數教師傾向于用“割圓術”為例子展開講解。相關數學原理為:算出圓形正n邊形的面積,視為圓形面積近似值,在n的取值持續加大中,正n邊形實際面積也就更接近圓形面積,但不可能相等,這就能體現出“極限”概念。在運用Python進行動態化教學中,也能直接繪制“割圓術”,當作一個趣味案例保存下來。在微積分領域中,“極限”一般是研究函數與數列,考慮到數列理解難度較低,此處選擇數列作為分析對象。以下述數列為例,n是橫坐標,而數列值是縱坐標,借助基于Python構成的可視化程序,動態呈現數列數值持續接近極限的過程,呈現出“極限”表述內容。

在n持續提高中,函數值始終處于“O”周圍,而且持續接近“O”。通過散點圖呈現出x軸上點列,并且為了更清楚地反映出“逼近”的情況,把n當成動態變化要素,持續性提高其取值,這樣就能呈現出數列“延伸”的狀態。
(3)微分定義。對于一元微積分來說,“可微”相當于“可導”,即:

f(x)函數上,隨意選擇一點L(x0,y0)和其周圍一點L'(x0+△x,y0+△y),穿過二者作一條和x軸平行的虛線,基于L點作此切線,并過(x0,0)與(x0+△x,0)分別與x軸虛線及切線相交,用△y表示。因為f’(x)為切線與x軸夾角對應正切值,加之一元微積分特點,所以,函數f(x)在點L的微分,能夠用其切線縱坐標的增量代表。運用Python可視化處理工具繪制出函數圖像。微分和導數的幾何意義圖像比較接近,教師也可以直接將其保存在相應案例資料庫中,相關操作流程也可參考導數定義的方法。
3.自定義表達式函數
(1)直角坐標函數。在直角坐標函數中,比較多見的形式是y=f(x)。繪制該基礎函數圖像中,教師僅用確認函數的定義域,假設需要繪制出動態的圖像,就應額外設置變化參數[4]。比如,在講解y=sin(x)中,教師直接選擇在基于Python的可視化系統上,進入到“自建動圖”模塊,點擊“新函數”,便能輸入所需的函數參數,確認新增與輸入表達式函數,設置區域是[-5,5],不設定可變參數。完成上述操作并“確定”后,啟動運行就能得到完整的直角坐標函數。
(2)極坐標函數。極坐標方程的基本形式是p=f(θ),鑒于在實際教學中錄入“θ”存在一些不便之處,因而改用“r”作為自變量。比如,在繪制從0至2π區間內的阿基米德螺線,此時極坐標方程能用p=r/6代表。教師操作系統中,同樣通過“自建動圖”模塊中的“新函數”,完成相關的參數錄入操作。
(3)參數方程。微積分教學中,為便于操作應用,方程參數直接選定“t”,比如在“參數方程畫圓”講解中,參數方程是:

參數t的取值范圍為[0,2π]。按照上述操作流程,新建函數即可,通過動態圖像觀察到的結論,和參數方程基本規律、性質相同。
1.連續與極限
(1)介值定理。對于閉區間的連續函數,該定理是其主要性質,其被運用在迭代法求根等類似的“逼近”算法上。為了讓學生以比較直接的形式感受介值定理,可視化處理應當是最有效的方法。教學實踐中,基于任意閉區間,繪制出連續函數f在其中的圖像,同時要確認函數端點數值。在閉區間[f(a),f(b)]內,由ξ動態取遍全部值,但因為繪圖形式約束,取值存在間隔,能根據連續定義確認間隔。各個ξ在函數上均有與之相等的點。
(2)零點定理。和上一個定理比較接近,需要先確定合適的“a”與“b”,在[a,b]區間內繪制出f函數圖像,讓f(a)與f(b)是異號狀態。下一步則是使ξ=a,并繪制出此處切線。讓后使ξ取遍此閉區間內的全部值,觀察該過程中ξ對應切線斜率等于零的情況下,ξ的對應點。
(3)數列極限性質。一方面,有界性,即假設{xn}數列是收斂的,則意味著其一定有界。微積分教學期間,教師可以利用圖像呈現出收斂數列性質。以下述震蕩數列為例:

該序列極限是3,n是橫坐標,而縱坐標是數列值,動態表現出該數列在n數值提高中的變化狀態。通過Python繪制,得到的證明結果和收斂序列性質相同。另一方面,單調有界必有極限。針對該準則,此處主要從幾何意義角度討論加以證明。在單調數列({xn})中,數列值僅能基于數軸進行正方向與負方向上的運動,并且只能向一側移動。假設數列值朝著負方向移動,此時單調數列取值只會出現兩種現象,分別是:數列趨于“-∞”;趨于某個固定值。如果單調數列有界,則前者不成立,也就是數列有極限。經過動態圖像講解的方法,發現單調遞減數列的數值是無限逼近某個固定值,這意味著此數列的極限就是該值。
2.導數定理
在微積分課程中,關于極限的單元,具體討論數列與函數極限具備有界性、子列收斂、唯一性、保號性,并包含“夾逼準則”與“單調有界必有極限”[5]。因為定理和性質本身存在明顯的特殊性,所以教學講解證明大多是理論推導,很少會用到圖像。但如果在課上教師能夠靈活運用Python,實現直觀化教學,更容易讓學生理解。
(1)羅爾中值定理。其在微積分課程中占據重要定位,通過對其進行動態化處理,可以直接在(a,b)中鎖定ξ點,對此應當建立符合相應要求的函數曲線。在連續可導函數(f(x))中,選擇[a,b]區間,讓f(a)與f(b)相等。在繪制圖像中應標記出圖像端點,并通過虛線連接。使ξ由a至b移動,顯示出ξ對應切線,鎖定切線斜率為0的取值,由此可以反映出該中值定理的幾何意義。實踐教學中,為提高課堂上演示過程的便利性,把此中值定理與其他相關定理都當成教學例子集中保存,相應的調用操作流程和前文關于導數幾何意義的處理方式一致。
(2)拉格朗日。此項中值定理描述了在閉區間中,可導函數的導數改變與其端點割線斜率的聯系。在講解其幾何以一種,同樣要先繪制出原始函數圖像,設置端點。使ξ由a至b完成取值,繪制相應切線,在此期間確認其和割線相互平行的點。通過運用Python繪制動態圖的方式,將中值定理呈現出來,使學生可以直觀理解定理描述的關系。
3.積分定理
(1)不等式。微積分課程的眾多不等式中,積分不等式屬于比較重要的抑制,其是解出微分方程的重要工具,具體有閩可夫斯基與楊不等式等。例如,在講解楊不等式中,對其進行幾何意義分析。教師先要繪制函數圖像,區間為[0,a],標出端點與對應虛線。在縱坐標軸上選擇一點b,使其動態移動。由此形成兩個多邊形,在b不等于f(a)的情況下,兩個多邊形的面積和大于ab。
(2)積分中值定理。其包含一重積分與二重積分兩種,前者還能細分成積分第一與第二中值定理。以積分第一中值定理為例,這是由于其在實質上和二重積分中值定理比較接近,所以,更具分析代表性。該定理的基本描述為:假設在[a,b]區間上,f(x)函數是連續的,則在該區間中至少有一點ε符合以下條件:

在函數定義域內,等于曲線和x軸構成一個面積,則在積分第一中值定理對應幾何意義為:定義域作為圖形的底,曲線上某個點是高,由此形成的矩形面積就是曲線積分值。而該幾何分析過程能根據介值定理得出。相應的分析推導思路為:假設在[a,b]區間上,函數最大值是M,最小值是N,在以二者為高形成的矩形面積中,會存在下述結果:

按照介值定理,便能確認在此區間中,函數上至少有一點ε符合要求。
微積分知識本身的理解難度較大,而且各類定理、定義較多,倘若僅依靠理論推導,可能容易導致學生理解偏差以及混淆等問題出現。而借助Python繪圖功能,可以按照設定條件直接生成函數圖像,并支持動態演化,這樣有利于學生掌握定理描述本質,靈活運用解出數學問題。