郭空明+胡銳鋒+徐亞蘭
摘要:針對(duì)目前力學(xué)課程課堂教學(xué)中知識(shí)點(diǎn)演示方面存在不足,以及部分課程缺少實(shí)驗(yàn)學(xué)時(shí)和實(shí)驗(yàn)設(shè)備兩類問題,嘗試在課程教學(xué)中使用Matlab軟件進(jìn)行改善。實(shí)踐證明,Matlab軟件可以使課程教學(xué)中的知識(shí)點(diǎn)講授更加形象和靈活,而采用Matlab編寫的簡(jiǎn)單程序可以實(shí)現(xiàn)虛擬實(shí)驗(yàn)的功能。因此在力學(xué)課程教學(xué)中采用Matlab軟件提高了教學(xué)的效率,同時(shí)也提升了學(xué)生的學(xué)習(xí)能力。
關(guān)鍵詞:Matlab;課堂教學(xué);虛擬實(shí)驗(yàn)
中圖分類號(hào):G420 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2017)09-0094-02
一、背景
力學(xué)課程是工科專業(yè)的重要課程,主要包括理論力學(xué)、材料力學(xué)、流體力學(xué)、彈性力學(xué)、分析力學(xué)、振動(dòng)力學(xué)、計(jì)算固體力學(xué)(有限元)、結(jié)構(gòu)力學(xué)等。一方面作為基礎(chǔ)課程,另一方面又具有技術(shù)課程的特點(diǎn),例如,計(jì)算固體力學(xué)(有限元方法)是當(dāng)前工程結(jié)構(gòu)計(jì)算的主流方法。本文主要針對(duì)兩類問題進(jìn)行闡述。
首先,除了分析力學(xué)等少量課程外,力學(xué)課程課堂教學(xué)都需要采用示意圖,函數(shù)曲線乃至動(dòng)畫來表述抽象的概念。例如,為了講授科氏加速度等重要概念,在理論力學(xué)課程中往往使用動(dòng)畫進(jìn)行運(yùn)動(dòng)學(xué)演示。而材料力學(xué)在講授扭轉(zhuǎn)平截面假設(shè)等概念時(shí),往往也采用圖像或動(dòng)畫。由于圖像或曲線的板書繪制較為費(fèi)時(shí),而且曲線精度難以控制,效果也不理想,因此隨著近二十年來幻燈片的推廣,目前絕大部分的力學(xué)課程都采用計(jì)算機(jī)多媒體和幻燈片進(jìn)行授課,確實(shí)也收到了很好的效果。但是幻燈片比起板書教學(xué)而言不具備靈活性,其內(nèi)容一旦固定,在授課過程中就難以更改,不便于教師臨場(chǎng)發(fā)揮。例如,在曲線演示的圖片中,教師若臨時(shí)打算加入一條新的曲線,就根本無法實(shí)施。而且,課堂演示所采用的動(dòng)畫也往往都是針對(duì)具體情況和物理參數(shù)制作的,不具備通用性,更惶論臨場(chǎng)修改。
其次,“紙上得來終覺淺,絕知此事要躬行?!睂?shí)驗(yàn)環(huán)節(jié)對(duì)于許多力學(xué)課程而言都是不可缺少的,它引導(dǎo)學(xué)生從理性認(rèn)識(shí)到感性認(rèn)識(shí),再進(jìn)一步回到理性認(rèn)識(shí)的這樣一個(gè)重要過程。同時(shí)實(shí)驗(yàn)環(huán)節(jié)還培養(yǎng)了學(xué)生的觀察能力,歸納總結(jié)能力,動(dòng)手能力、分析能力等。但是首先力學(xué)實(shí)驗(yàn)往往需要貴重的實(shí)驗(yàn)設(shè)備以及專門的實(shí)驗(yàn)場(chǎng)地,對(duì)于許多院校尤其是沒有力學(xué)本科專業(yè)的院校一般是不具備這個(gè)條件的。其次,即使具備一定的實(shí)驗(yàn)場(chǎng)地和設(shè)備,由于設(shè)備有限,實(shí)驗(yàn)往往分組進(jìn)行,從而導(dǎo)致大部分學(xué)生實(shí)驗(yàn)只是走過場(chǎng),沒有起到讓每個(gè)人都動(dòng)手實(shí)驗(yàn)的效果。最后,由于專業(yè)教學(xué)大綱在課時(shí)安排上有總體的要求,一些本需要開設(shè)實(shí)驗(yàn)的力學(xué)課程,在教學(xué)計(jì)劃中根本沒有安排實(shí)驗(yàn)課時(shí)。正因如此,許多教學(xué)工作者之力學(xué)虛擬實(shí)驗(yàn)系統(tǒng)的開發(fā)。例如文獻(xiàn)[1]采用LabVIEW進(jìn)行虛擬實(shí)驗(yàn)平臺(tái)設(shè)計(jì),但此類軟件本身仍需要貴重的硬件支持,并不能完全算是虛擬實(shí)驗(yàn)。
為了解決以上兩個(gè)問題,本文作者嘗試在所負(fù)責(zé)的幾門力學(xué)課程的教學(xué)中使用Matlab軟件。
二、Matlab軟件簡(jiǎn)介
Matlab是美國(guó)MathWorks公司推出的商業(yè)數(shù)學(xué)軟件,它和Maple、Mathematic兩種軟件的功能類似,但由于Matlab進(jìn)入國(guó)內(nèi)早于后兩者,再加之其擅長(zhǎng)數(shù)值計(jì)算,而且具有多種功能強(qiáng)大的工具箱,因此目前已成為國(guó)內(nèi)科研工作的主流軟件。
Matlab一詞為矩陣Matrix和實(shí)驗(yàn)室Laboratory兩個(gè)單詞的組合,意為矩陣實(shí)驗(yàn)室。該軟件不僅從擅長(zhǎng)矩陣運(yùn)算,同時(shí)還具有數(shù)值分析、算法開發(fā)以及強(qiáng)大的數(shù)據(jù)可視化功能。Matlab的主要優(yōu)點(diǎn)有:(1)界面友好,編程調(diào)試方便,易于使用;(2)庫函數(shù)豐富,且功能強(qiáng)大,調(diào)用簡(jiǎn)單,這就使得使用者不必再編寫各種冗長(zhǎng)的子程序,如對(duì)于矩陣求逆,使用者就不必再編寫高斯消去法,在Matlab中只需一個(gè)命令就可實(shí)現(xiàn),這樣就大大簡(jiǎn)化了程序的編寫;(3)數(shù)據(jù)可視化功能異常強(qiáng)大,不但可以繪制各種各樣的曲線、曲面、圖表,而且還可以制作動(dòng)畫。
由于目前絕大多數(shù)高校教師都是同時(shí)從事教學(xué)和科研工作,因此熟悉Matlab者非常多。再加上Matlab強(qiáng)大的繪圖功能非常適合于課堂演示,因此將Matlab引入課程教學(xué)環(huán)節(jié)已經(jīng)是大勢(shì)所趨。Matlab的缺點(diǎn)是與FORTRAN等語言相比,計(jì)算效率較低,但由于教學(xué)活動(dòng)中所需要程序的計(jì)算量往往很小,低配置的計(jì)算機(jī)也只需要數(shù)秒鐘,因此不會(huì)帶來問題。目前,已有大量教學(xué)工作者致力于將Matlab應(yīng)用于教學(xué)。如文獻(xiàn)[2]闡述了Matlab可視化界面在理論力學(xué)運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)教學(xué)中的應(yīng)用,文獻(xiàn)使用Matlab對(duì)材料力學(xué)的各類變形問題進(jìn)行課堂仿真,文獻(xiàn)基于Matlab可視化界面研發(fā)了振動(dòng)力學(xué)的虛擬實(shí)驗(yàn)系統(tǒng)。由于Matlab在力學(xué)教學(xué)中的應(yīng)用日益增多,近年來已有許多新出版的力學(xué)教材包含了Matlab的相關(guān)內(nèi)容,如教材。
本文作者們主要針對(duì)所負(fù)責(zé)的幾門力學(xué)課程:工程力學(xué)、流體力學(xué)、振動(dòng)力學(xué),在課堂教學(xué)和虛擬實(shí)驗(yàn)兩方面中的應(yīng)用舉出一些例子進(jìn)行闡述。
三、Matlab在課堂教學(xué)中的應(yīng)用
1.在工程力學(xué)中的應(yīng)用。梁的內(nèi)力一直是工程力學(xué)課程中難度較大和比較重要的內(nèi)容,難點(diǎn)在于剪力圖和彎矩圖的繪制。教師的講授方式分為板書教學(xué)法和幻燈片教學(xué)法,板書教學(xué)備課工作量較小,但板書繪制圖線難以做到精確和規(guī)范,效果不如計(jì)算機(jī)生成的曲線。而幻燈片演示曲線雖然具有圖像精確、可以動(dòng)態(tài)演示、更利于學(xué)生接受,但是課下制作曲線的工作量較大。添置新例題時(shí),須花費(fèi)大量時(shí)間制作課件。因此,作者嘗試使用Matlab。針對(duì)懸臂梁、簡(jiǎn)支梁、外伸梁三種不同約束形式,編寫了三組繪制剪力圖和彎矩圖的程序。在程序中,使用者只要設(shè)定梁長(zhǎng)、分布載荷作用范圍、集中載荷作用點(diǎn)等參數(shù),就可以快速繪制出三種不同約束下的剪力圖和彎矩圖,并且可以在程序中加入判斷載荷連續(xù)性的模塊,使剪力圖和彎矩圖分段動(dòng)態(tài)顯示。很便捷地繪制出任意載荷作用下的剪力圖和彎矩圖。該程序經(jīng)過未來的擴(kuò)展,也完全可以處理復(fù)雜約束的多跨梁甚至框架結(jié)構(gòu)。
2.在流體力學(xué)中的應(yīng)用。流體力學(xué)課程中的一個(gè)難點(diǎn)就是流場(chǎng)的歐拉和拉格朗日兩種描述方法的區(qū)別和聯(lián)系。教材上多采用抽象的方程來進(jìn)行描述,甚至沒有示意圖,這種描述雖然嚴(yán)謹(jǐn),但不利于學(xué)生掌握。因此,作者在課堂教學(xué)中,為了形象化地講解這兩種方法的聯(lián)系和區(qū)別,使用Matlab編寫了適用于不同流場(chǎng)的通用程序。在課堂教學(xué)的使用中,教師首先將程序代碼中的流場(chǎng)方程替換為所需要演示的方程,之后運(yùn)行程序,得到流場(chǎng)中給定網(wǎng)格點(diǎn)上流場(chǎng)的大小和方向,并用大小不同的箭頭進(jìn)行示意,這樣學(xué)生對(duì)于流場(chǎng)的歐拉描述便一目了然。之后,教師選取流場(chǎng)中給定初始位置的質(zhì)點(diǎn),運(yùn)行另一程序,生成該質(zhì)點(diǎn)的動(dòng)態(tài)軌跡曲線,也即流場(chǎng)的拉格朗日描述,并疊加在流場(chǎng)歐拉描述的圖形上。通過矢量場(chǎng)和曲線的對(duì)比,學(xué)生很容易掌握這兩種描述之間的區(qū)別。該程序通用性強(qiáng),可以很方便快捷地在課堂上更改流場(chǎng)方程和質(zhì)點(diǎn)位置。對(duì)于流體運(yùn)動(dòng)學(xué)的其他一些知識(shí)點(diǎn),如流線、脈線,跡線等,也可以用類似的方法講授,這里不再贅述。
四、Matlab在振動(dòng)力學(xué)虛擬實(shí)驗(yàn)中的應(yīng)用
振動(dòng)力學(xué)很好體現(xiàn)了力學(xué)課程的兩面性,它屬于基礎(chǔ)課程又具有技術(shù)應(yīng)用類課程的特點(diǎn)。在實(shí)驗(yàn)環(huán)節(jié)也具有雙重意義,一方面,學(xué)生通過實(shí)驗(yàn)更好理解振動(dòng)的基礎(chǔ)理論,另一方面培養(yǎng)了實(shí)踐能力,增強(qiáng)了解決工程問題的能力。
由于培養(yǎng)計(jì)劃,教學(xué)大綱的限制,許多高校振動(dòng)力學(xué)課程都沒有設(shè)置實(shí)驗(yàn)學(xué)時(shí)。為了彌補(bǔ)這一環(huán)節(jié),作者采用Matlab編寫程序,并結(jié)合GUI功能將程序封裝生成exe文件,實(shí)現(xiàn)虛擬實(shí)驗(yàn)。共設(shè)置兩個(gè)實(shí)驗(yàn):?jiǎn)巫杂啥认到y(tǒng)頻響函數(shù)的測(cè)定實(shí)驗(yàn)以及動(dòng)力吸振實(shí)驗(yàn)。在前一個(gè)實(shí)驗(yàn)中,學(xué)生通過界面可改變系統(tǒng)的阻尼系數(shù),繪制出不同阻尼的頻響曲線,并總結(jié)規(guī)律。在后一個(gè)實(shí)驗(yàn)中學(xué)生可以改變吸振器的質(zhì)量、剛度和阻尼,繪制出主系統(tǒng)的頻響函數(shù),對(duì)吸振器最優(yōu)參數(shù)的選取進(jìn)行歸納。
虛擬實(shí)驗(yàn)exe程序下發(fā)給學(xué)生,由學(xué)生利用計(jì)算機(jī)運(yùn)行完成。虛擬實(shí)驗(yàn)成績(jī)作為總成績(jī)的一部分,計(jì)入考核。而且作者對(duì)于虛擬實(shí)驗(yàn)程序中固定不變的參數(shù),采用了通過學(xué)生學(xué)號(hào)進(jìn)行生成的方法。學(xué)生在GUI界面輸入學(xué)號(hào)后,實(shí)驗(yàn)中的固定參數(shù)將根據(jù)學(xué)生學(xué)號(hào)的后三位生成,也就是說每個(gè)學(xué)生的實(shí)驗(yàn)“系統(tǒng)”都是不一樣的,使每個(gè)學(xué)生都必須獨(dú)立完成實(shí)驗(yàn)。
五、結(jié)論
將商用工程和科研軟件引入教學(xué)環(huán)節(jié),是教學(xué)改革的方向。本文作者近年來在多門力學(xué)課程中使用Matlab軟件,改進(jìn)了授課效果,使學(xué)生通過基于Matlab的虛擬實(shí)驗(yàn)對(duì)所學(xué)知識(shí)進(jìn)行了驗(yàn)證和鞏固。另外,盡早接觸Matlab軟件,對(duì)于學(xué)生后續(xù)學(xué)習(xí)、起到啟蒙效果。希望本文能起到拋磚引玉的作用,為同行提供一些思路。
參考文獻(xiàn):
[1]陳春朝,趙敏,張亞超,邱穎豪.基于LabVIEW的虛擬實(shí)驗(yàn)平臺(tái)的設(shè)計(jì)[J].中國(guó)現(xiàn)代教育裝備,2009(17):31-34.
[2]敖文剛,李勤,王歆.基于MATLAB的理論力學(xué)計(jì)算機(jī)輔助教學(xué)[J].力學(xué)與實(shí)踐,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