黃方 章向明
摘 要:工程力學(xué)所包含的內(nèi)容極其廣泛,其中,動(dòng)力學(xué)由于計(jì)算復(fù)雜、內(nèi)容抽象而一直是教學(xué)的難點(diǎn)。MATLAB是美國(guó)Mathworks公司開發(fā)的一種集符號(hào)運(yùn)算、數(shù)值計(jì)算、圖形可視化等多種功能于一體的大型數(shù)學(xué)計(jì)算軟件,本文針對(duì)工程力學(xué)中較復(fù)雜的動(dòng)力學(xué)問題,通過實(shí)際工程中一常用的彈簧振子實(shí)例說明了在工程力學(xué)課程的學(xué)習(xí)中如何引入MATLAB,結(jié)合教學(xué)實(shí)踐,證明合理使用計(jì)算機(jī)軟件,既能促進(jìn)學(xué)生的學(xué)習(xí)興趣,又能提高學(xué)生對(duì)理論力學(xué)的掌握程度,提高學(xué)生的工程能力。
關(guān)鍵詞:MATLAB軟件 工程力學(xué) 動(dòng)力學(xué) 阻尼
中圖分類號(hào):G64 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-3791(2014)10(a)-0123-01
傳統(tǒng)工程力學(xué)教學(xué)只注重理論和基本概念的掌握。主要采用手算,將過多的精力用于解題技巧,忽略科學(xué)計(jì)算能力的培養(yǎng)。顯然,隨著計(jì)算機(jī)技術(shù)的普及,這種傳統(tǒng)培養(yǎng)模式已經(jīng)不能滿足新世紀(jì)對(duì)人才的需求。未來教學(xué)的主要模式一定是在原有的課程體系中適當(dāng)?shù)匾M(jìn)科學(xué)計(jì)算技術(shù)和手段,提高學(xué)生處理復(fù)雜問題的能力。
1 MATLAB在動(dòng)力學(xué)中的應(yīng)用
MATLAB有強(qiáng)大的數(shù)值計(jì)算能力,且易學(xué)易用,對(duì)學(xué)生而言,它是一個(gè)真正的計(jì)算工具,而不是一門新的計(jì)算機(jī)課程,只要經(jīng)過很短時(shí)間的練習(xí),就能用它完成所需要的計(jì)算。多年的教學(xué)經(jīng)驗(yàn)表明,工程力學(xué)中的動(dòng)力學(xué)部分由于涉及到阻尼、加速度等概念,學(xué)生掌握起來比較困難,本文即以一基本的彈簧振子模型為例說明MATLAB在工程力學(xué)之動(dòng)力學(xué)研究中的應(yīng)用。
假設(shè)在彈簧的一端掛著一個(gè)振子,我們用力把這個(gè)振子拉離平衡位置,然后放手,這個(gè)振子就做上下振動(dòng)。最后,振動(dòng)逐漸衰減,直到我們不能覺察為止。振動(dòng)的衰減快慢是系統(tǒng)的阻尼系數(shù)的函數(shù)。在彈簧振子這樣最簡(jiǎn)單的系統(tǒng)里,阻尼系數(shù)很小。但是在其他一些系統(tǒng)里,比如在汽車的避震系統(tǒng)里,阻尼器(減震器)是不可缺少的一部分,同樣在工程的其他更多領(lǐng)域里都非常重要。彈簧振子模型可以應(yīng)用于避震系統(tǒng)、建筑結(jié)構(gòu)的振動(dòng)等機(jī)械系統(tǒng),也可以應(yīng)用于液壓系統(tǒng)。
彈簧振子模型的位移響應(yīng)可以通過列出并求解該系統(tǒng)的微分方程來獲得。在欠阻尼條件下,阻尼很小,允許振子振動(dòng)。在過阻尼條件下,則振子回到原來的位置都是不可能的。如果阻尼正好使得振子回到原來位置,但是并沒有引起振動(dòng),則我們稱它為臨界阻尼。在欠阻尼條件下,彈簧振子的位移響應(yīng)解是:
式中:—— 振子相對(duì)于平衡位置的偏移量(振幅)。
—— 初始偏移值(即在時(shí)刻的偏移量)。
—— 系統(tǒng)的固有振動(dòng)頻率。它表示系統(tǒng)每秒鐘自由振動(dòng)的次數(shù)。
—— 阻尼比。它的值介于0~1之間。
—— 阻尼頻率,它的計(jì)算公式是:
這個(gè)解是假設(shè)初速度為0時(shí)得到的,即把彈簧拉伸到位置后釋放。顯然振幅是時(shí)間的函數(shù),繪制彈簧振子系統(tǒng)的位移隨時(shí)間的變化曲線。假設(shè),。分別討論無阻尼和欠阻尼,即和時(shí)的情況。MATLAB編程如下:
y0=4.0;
dc=0.0;
fr=2*pi;
fd=fr*sqrt(1-dc^2);
for
i=1∶101
t(i)=(i-1)*0.05;
c=cos(fd*t(i));
s=sin(fd*t(i));
e=exp(-dc*fr*t(i));
y(i)=(y0*c+y0*dc*fr/fd*s)*e;
end
plot(t,y)
dc2=0.05;
fd2=fr*sqrt(1-dc2^2);
for
i=1∶101
c=cos(fd2*t(i));
s=sin(fd2*t(i));
e=exp(-dc2*fr*t(i));
y2(i)=(y0*c+y0*dc2*fr/fd2*s)*e;
end
hold on
plot(t,y2,‘LineWidth,3, ‘LineStyle,‘-,‘Color,‘red);
legend(阻尼比=0.0,阻尼比=0.05);
通過命令運(yùn)行程序,即可得到下面圖形。
2 結(jié)語
通過MATLAB編程后得到的圖1我們可以很清晰地看到,當(dāng)阻尼比為0也就是無阻尼情況下,振子可以一直振動(dòng)下去且振幅不衰減,但當(dāng)阻尼比為0.05的欠阻尼時(shí),振子仍然可以振動(dòng)但振幅逐漸衰減直到0為止。這樣一來,一個(gè)抽象的動(dòng)力學(xué)問題便通過圖形化具體地展現(xiàn)在學(xué)生面前,相對(duì)于枯燥的公式記憶,學(xué)生通過這種模式會(huì)加深對(duì)力學(xué)基本概念的掌握和理解,并且自己編程解決問題也會(huì)極大地增強(qiáng)學(xué)生在掌握知識(shí)后的成就感,進(jìn)而提高了學(xué)生的學(xué)習(xí)興趣。所以希望能有更多的教師在工作中應(yīng)用這一現(xiàn)代化的教學(xué)工具。
參考文獻(xiàn)
[1] 張定華.工程力學(xué)[M].北京:高等教育出版社,2000.
[2] 高俊斌.MATLAB語言與程序設(shè)計(jì)[M].武漢:華中理工大學(xué)出版社,1998.
[3] 張志涌.掌握和精通MATLAB[M].北京:北京航空航天大學(xué)出版社,1999.
[4] 張錚,楊文平,石博強(qiáng),等.MATLAB程序設(shè)計(jì)與實(shí)例應(yīng)用[M].北京:中國(guó)鐵道出版社,2003.
[5] 陳懷琛.MATLAB及其在理工課程中的應(yīng)用指南[M].西安:西安電子科技大學(xué)出版社,2000.