郭空明+胡銳鋒+徐亞蘭
摘要:針對目前力學課程課堂教學中知識點演示方面存在不足,以及部分課程缺少實驗學時和實驗設備兩類問題,嘗試在課程教學中使用Matlab軟件進行改善。實踐證明,Matlab軟件可以使課程教學中的知識點講授更加形象和靈活,而采用Matlab編寫的簡單程序可以實現虛擬實驗的功能。因此在力學課程教學中采用Matlab軟件提高了教學的效率,同時也提升了學生的學習能力。
關鍵詞:Matlab;課堂教學;虛擬實驗
中圖分類號:G420 文獻標志碼:A 文章編號:1674-9324(2017)09-0094-02
一、背景
力學課程是工科專業的重要課程,主要包括理論力學、材料力學、流體力學、彈性力學、分析力學、振動力學、計算固體力學(有限元)、結構力學等。一方面作為基礎課程,另一方面又具有技術課程的特點,例如,計算固體力學(有限元方法)是當前工程結構計算的主流方法。本文主要針對兩類問題進行闡述。
首先,除了分析力學等少量課程外,力學課程課堂教學都需要采用示意圖,函數曲線乃至動畫來表述抽象的概念。例如,為了講授科氏加速度等重要概念,在理論力學課程中往往使用動畫進行運動學演示。而材料力學在講授扭轉平截面假設等概念時,往往也采用圖像或動畫。由于圖像或曲線的板書繪制較為費時,而且曲線精度難以控制,效果也不理想,因此隨著近二十年來幻燈片的推廣,目前絕大部分的力學課程都采用計算機多媒體和幻燈片進行授課,確實也收到了很好的效果。但是幻燈片比起板書教學而言不具備靈活性,其內容一旦固定,在授課過程中就難以更改,不便于教師臨場發揮。例如,在曲線演示的圖片中,教師若臨時打算加入一條新的曲線,就根本無法實施。而且,課堂演示所采用的動畫也往往都是針對具體情況和物理參數制作的,不具備通用性,更惶論臨場修改。
其次,“紙上得來終覺淺,絕知此事要躬行。”實驗環節對于許多力學課程而言都是不可缺少的,它引導學生從理性認識到感性認識,再進一步回到理性認識的這樣一個重要過程。同時實驗環節還培養了學生的觀察能力,歸納總結能力,動手能力、分析能力等。但是首先力學實驗往往需要貴重的實驗設備以及專門的實驗場地,對于許多院校尤其是沒有力學本科專業的院校一般是不具備這個條件的。其次,即使具備一定的實驗場地和設備,由于設備有限,實驗往往分組進行,從而導致大部分學生實驗只是走過場,沒有起到讓每個人都動手實驗的效果。最后,由于專業教學大綱在課時安排上有總體的要求,一些本需要開設實驗的力學課程,在教學計劃中根本沒有安排實驗課時。正因如此,許多教學工作者之力學虛擬實驗系統的開發。例如文獻[1]采用LabVIEW進行虛擬實驗平臺設計,但此類軟件本身仍需要貴重的硬件支持,并不能完全算是虛擬實驗。
為了解決以上兩個問題,本文作者嘗試在所負責的幾門力學課程的教學中使用Matlab軟件。
二、Matlab軟件簡介
Matlab是美國MathWorks公司推出的商業數學軟件,它和Maple、Mathematic兩種軟件的功能類似,但由于Matlab進入國內早于后兩者,再加之其擅長數值計算,而且具有多種功能強大的工具箱,因此目前已成為國內科研工作的主流軟件。
Matlab一詞為矩陣Matrix和實驗室Laboratory兩個單詞的組合,意為矩陣實驗室。該軟件不僅從擅長矩陣運算,同時還具有數值分析、算法開發以及強大的數據可視化功能。Matlab的主要優點有:(1)界面友好,編程調試方便,易于使用;(2)庫函數豐富,且功能強大,調用簡單,這就使得使用者不必再編寫各種冗長的子程序,如對于矩陣求逆,使用者就不必再編寫高斯消去法,在Matlab中只需一個命令就可實現,這樣就大大簡化了程序的編寫;(3)數據可視化功能異常強大,不但可以繪制各種各樣的曲線、曲面、圖表,而且還可以制作動畫。
由于目前絕大多數高校教師都是同時從事教學和科研工作,因此熟悉Matlab者非常多。再加上Matlab強大的繪圖功能非常適合于課堂演示,因此將Matlab引入課程教學環節已經是大勢所趨。Matlab的缺點是與FORTRAN等語言相比,計算效率較低,但由于教學活動中所需要程序的計算量往往很小,低配置的計算機也只需要數秒鐘,因此不會帶來問題。目前,已有大量教學工作者致力于將Matlab應用于教學。如文獻[2]闡述了Matlab可視化界面在理論力學運動學和動力學教學中的應用,文獻使用Matlab對材料力學的各類變形問題進行課堂仿真,文獻基于Matlab可視化界面研發了振動力學的虛擬實驗系統。由于Matlab在力學教學中的應用日益增多,近年來已有許多新出版的力學教材包含了Matlab的相關內容,如教材。
本文作者們主要針對所負責的幾門力學課程:工程力學、流體力學、振動力學,在課堂教學和虛擬實驗兩方面中的應用舉出一些例子進行闡述。
三、Matlab在課堂教學中的應用
1.在工程力學中的應用。梁的內力一直是工程力學課程中難度較大和比較重要的內容,難點在于剪力圖和彎矩圖的繪制。教師的講授方式分為板書教學法和幻燈片教學法,板書教學備課工作量較小,但板書繪制圖線難以做到精確和規范,效果不如計算機生成的曲線。而幻燈片演示曲線雖然具有圖像精確、可以動態演示、更利于學生接受,但是課下制作曲線的工作量較大。添置新例題時,須花費大量時間制作課件。因此,作者嘗試使用Matlab。針對懸臂梁、簡支梁、外伸梁三種不同約束形式,編寫了三組繪制剪力圖和彎矩圖的程序。在程序中,使用者只要設定梁長、分布載荷作用范圍、集中載荷作用點等參數,就可以快速繪制出三種不同約束下的剪力圖和彎矩圖,并且可以在程序中加入判斷載荷連續性的模塊,使剪力圖和彎矩圖分段動態顯示。很便捷地繪制出任意載荷作用下的剪力圖和彎矩圖。該程序經過未來的擴展,也完全可以處理復雜約束的多跨梁甚至框架結構。
2.在流體力學中的應用。流體力學課程中的一個難點就是流場的歐拉和拉格朗日兩種描述方法的區別和聯系。教材上多采用抽象的方程來進行描述,甚至沒有示意圖,這種描述雖然嚴謹,但不利于學生掌握。因此,作者在課堂教學中,為了形象化地講解這兩種方法的聯系和區別,使用Matlab編寫了適用于不同流場的通用程序。在課堂教學的使用中,教師首先將程序代碼中的流場方程替換為所需要演示的方程,之后運行程序,得到流場中給定網格點上流場的大小和方向,并用大小不同的箭頭進行示意,這樣學生對于流場的歐拉描述便一目了然。之后,教師選取流場中給定初始位置的質點,運行另一程序,生成該質點的動態軌跡曲線,也即流場的拉格朗日描述,并疊加在流場歐拉描述的圖形上。通過矢量場和曲線的對比,學生很容易掌握這兩種描述之間的區別。該程序通用性強,可以很方便快捷地在課堂上更改流場方程和質點位置。對于流體運動學的其他一些知識點,如流線、脈線,跡線等,也可以用類似的方法講授,這里不再贅述。
四、Matlab在振動力學虛擬實驗中的應用
振動力學很好體現了力學課程的兩面性,它屬于基礎課程又具有技術應用類課程的特點。在實驗環節也具有雙重意義,一方面,學生通過實驗更好理解振動的基礎理論,另一方面培養了實踐能力,增強了解決工程問題的能力。
由于培養計劃,教學大綱的限制,許多高校振動力學課程都沒有設置實驗學時。為了彌補這一環節,作者采用Matlab編寫程序,并結合GUI功能將程序封裝生成exe文件,實現虛擬實驗。共設置兩個實驗:單自由度系統頻響函數的測定實驗以及動力吸振實驗。在前一個實驗中,學生通過界面可改變系統的阻尼系數,繪制出不同阻尼的頻響曲線,并總結規律。在后一個實驗中學生可以改變吸振器的質量、剛度和阻尼,繪制出主系統的頻響函數,對吸振器最優參數的選取進行歸納。
虛擬實驗exe程序下發給學生,由學生利用計算機運行完成。虛擬實驗成績作為總成績的一部分,計入考核。而且作者對于虛擬實驗程序中固定不變的參數,采用了通過學生學號進行生成的方法。學生在GUI界面輸入學號后,實驗中的固定參數將根據學生學號的后三位生成,也就是說每個學生的實驗“系統”都是不一樣的,使每個學生都必須獨立完成實驗。
五、結論
將商用工程和科研軟件引入教學環節,是教學改革的方向。本文作者近年來在多門力學課程中使用Matlab軟件,改進了授課效果,使學生通過基于Matlab的虛擬實驗對所學知識進行了驗證和鞏固。另外,盡早接觸Matlab軟件,對于學生后續學習、起到啟蒙效果。希望本文能起到拋磚引玉的作用,為同行提供一些思路。
參考文獻:
[1]陳春朝,趙敏,張亞超,邱穎豪.基于LabVIEW的虛擬實驗平臺的設計[J].中國現代教育裝備,2009(17):31-34.
[2]敖文剛,李勤,王歆.基于MATLAB的理論力學計算機輔助教學[J].力學與實踐,2013(1):83-86.
Matlab Application in Mechanics Course Teaching and Virtual Experiment
GUO Kong-ming,HU Rui-feng,XU Ya-lan
(School of Electro-Mechanical Engineering, Xidian University, Xi'an, Shaanxi 710071, China)
Abstract:Aims to two main problems in mechanical courses: insufficient of knowledge points demonstration in the classroom teaching and lack of experiment class hour and laboratory equipment, Matlab software is applied to improve them on the attempt. Practices have proved that the Matlab software can make the teaching of knowledge point more vivid and flexible, and simple program based on Matlab can achieve the function of virtual experiment. Therefore, using Matlab software in the teaching of mechanics courses improves the efficiency of teaching, and also enhances the learning ability of students.
Key words:Matlab; Class Teaching; Virtual Experiment