崔海軍
(揚(yáng)州工業(yè)職業(yè)技術(shù)學(xué)院 建筑工程學(xué)院, 江蘇 揚(yáng)州 225127)
MATLAB技術(shù)在高職《工程力學(xué)》教學(xué)中應(yīng)用和研究
崔海軍
(揚(yáng)州工業(yè)職業(yè)技術(shù)學(xué)院建筑工程學(xué)院,江蘇揚(yáng)州225127)
文章借助MALAB軟件,探討了《工程力學(xué)》基本題例的MATLAB計(jì)算子程序、基于MATLAB單跨靜定梁變形可視化研究、單跨靜定梁通用模型MATLAB子程序研究以和可視化教學(xué)界面研究,在《工程力學(xué)》教學(xué)中應(yīng)用MATLAB技術(shù)進(jìn)行輔助教學(xué),提高了教學(xué)效果。
MATLAB;工程力學(xué);單跨靜定梁;子程序;教學(xué)界面
近年來(lái),MATLAB技術(shù)廣泛應(yīng)用于工程領(lǐng)域,如橋梁、房屋建筑、機(jī)械結(jié)構(gòu)等領(lǐng)域[1]。對(duì)于基礎(chǔ)課程《工程力學(xué)》,MATLAB仿真軟件應(yīng)用,盡管有部分工程力學(xué)題型、案例的MATLAB仿真模擬分析,但還需要進(jìn)一步對(duì)工程力學(xué)課程內(nèi)容體系進(jìn)行梳理,提煉出代表工程力學(xué)課程體系的典型題例及框架,運(yùn)用MATLAB仿真軟件仿真及可視化研究,加強(qiáng)學(xué)生建模和計(jì)算能力,拓寬學(xué)生知識(shí)面,培養(yǎng)學(xué)生創(chuàng)新思維;同時(shí)減輕學(xué)生的手算工作量,將學(xué)生主要精力放在力學(xué)模型的理解和力學(xué)思維的建立上,進(jìn)行創(chuàng)造性的工作,從而有效提高《工程力學(xué)》教學(xué)效果和教學(xué)質(zhì)量[2]。
對(duì)于許多力學(xué)基本問(wèn)題,通過(guò)MATLAB編程,歸結(jié)為一個(gè)子程序,使力學(xué)求解變得簡(jiǎn)單、方便,求解過(guò)程規(guī)范,容易掌握。通過(guò)對(duì)工程力學(xué)基本題例的MATLAB子程序編程學(xué)習(xí)和研究,將力學(xué)分析過(guò)程與MATLAB編程語(yǔ)言相結(jié)合,利用其友好的可視化界面表示出來(lái),加強(qiáng)對(duì)力學(xué)過(guò)程的理解和分析,更好地掌握力學(xué)原理,同時(shí)通過(guò)典型題例的MATLAB編程訓(xùn)練,進(jìn)一步深化學(xué)生對(duì)MATLAB編程語(yǔ)言的認(rèn)識(shí)和理解,掌握用MATLAB語(yǔ)言求解力學(xué)問(wèn)題的方法、技巧及需要注意的問(wèn)題。
針對(duì)高職所學(xué)力學(xué)基本知識(shí)及要求,可以歸納和編制如力在坐標(biāo)軸上的投影、力對(duì)點(diǎn)之矩、平面匯交力系合成、支座反力以及內(nèi)力圖繪制等工程力學(xué)基本題例MATLAB子程序。同時(shí)針對(duì)高職學(xué)生所學(xué)的單跨靜定梁類型編制常見(jiàn)6種結(jié)構(gòu)類型單跨靜定梁內(nèi)力求解及內(nèi)力圖繪制通用模型MATLAB子程序。
比如,針對(duì)力在坐標(biāo)軸上的投影基本題例
(1)知識(shí)點(diǎn):投影公式
Fx=±Fcosa
Fy=±Fsina
(2)基本題例
【例】已知F1=100N,F(xiàn)2=50N,F(xiàn)3=60N,F(xiàn)4=80N。各力方向如圖1所示。試分別求出各力在x軸和y軸上的投影。
圖1
【傳統(tǒng)解法】由式(1-2)可求出各力在x、y軸上的投影:
(3)Matlab編程
【程序設(shè)計(jì)】
clear
F=[100 50 60 80]%輸入每個(gè)力的大小
degree=[pi/6 acos(-3/5)pi/2 3*pi/4]%輸入力與X軸的夾角,弧度
ax=cos(degree)
ay=[sin(pi/6)-4/5 sin(pi/2)sin(3*pi/4)]
Fx=F.*ax
Fy=F.*ay
【運(yùn)行結(jié)果】
Fx=86.6025-30.00000.0000-56.5685
Fy=50.0000-40.000060.000056.5685
再比如,軸向拉伸與壓縮內(nèi)力圖繪制基本題例:
【例】繪制如圖2所示桿的軸力圖。
圖2
【傳統(tǒng)解法】略
Matlab部分編程
【程序設(shè)計(jì)】
clear
L=input(′請(qǐng)輸入桿件的長(zhǎng)度,單位m:′)
nd=3000
nf=nd+1
x=linspace(0,L,nf)
dx=L/nd
……
title(′懸臂直桿軸力圖′,′position′,[3,-22],′fontsize′,16)%圖名標(biāo)注
set(gca,′DataAspectRatio′,[1 5 1])%等比例顯示,效果等價(jià)于axis equal
axis off%取消坐標(biāo)軸顯示
請(qǐng)輸入桿件的長(zhǎng)度,單位m:6
【運(yùn)行結(jié)果】
圖3
在《工程力學(xué)》課程的教學(xué)中,單跨靜定梁的內(nèi)力計(jì)算、內(nèi)力圖繪制以及變形教學(xué)是重點(diǎn)內(nèi)容,同時(shí)又是難點(diǎn)內(nèi)容,傳統(tǒng)內(nèi)力分析和變形計(jì)算過(guò)程繁瑣、復(fù)雜[3]。借助MATLAB軟件,可以將任意荷載條件下梁的內(nèi)力(彎矩和剪力)求出,并繪制出內(nèi)力圖,并通過(guò)MATLAB強(qiáng)大的繪圖功能,可以簡(jiǎn)單、快捷地將梁的變形情況呈現(xiàn)出來(lái)。
如簡(jiǎn)支梁內(nèi)力圖繪制:
【基本題例】如圖4所示梁,已知:F=7KN,q= 2KN/m,M=5KN·m。作結(jié)構(gòu)內(nèi)力圖。
圖4
【程序設(shè)計(jì)】
略。
【運(yùn)行結(jié)果】
如圖5。
圖5
針對(duì)具體的靜定梁力學(xué)問(wèn)題,對(duì)于初步掌握MATLAB語(yǔ)言的學(xué)生而言,通過(guò)MATLAB編程,歸結(jié)為一個(gè)子程序,使力學(xué)求解變得簡(jiǎn)單、方便,求解過(guò)程規(guī)范,容易掌握;而且通過(guò)對(duì)具體問(wèn)題力學(xué)過(guò)程分析及編程,能夠加深對(duì)問(wèn)題的理解和把握。但每個(gè)靜定梁力學(xué)具體問(wèn)題都需要具體編程,使問(wèn)題分析和求解變得繁瑣,而且具體求解時(shí),規(guī)律多、過(guò)程復(fù)雜,特別是在眾多復(fù)雜載荷作用下,內(nèi)力的計(jì)算及相應(yīng)的編程相當(dāng)復(fù)雜。
針對(duì)組成單跨靜定梁的常見(jiàn)六種結(jié)構(gòu)類型,編制在復(fù)雜載荷作用下的單跨靜定梁通用模型MATLAB子程序,使力學(xué)問(wèn)題研究變得更加簡(jiǎn)單,而且分析過(guò)程更加簡(jiǎn)潔。通過(guò)編制單跨靜定梁通用模型MATLAB子程序,只需要根據(jù)要求輸入相應(yīng)的幾何參數(shù)、載荷參數(shù),就可以方便、快捷地解決某一類問(wèn)題,使編制的力學(xué)問(wèn)題MATLAB求解子程序具有可移植性,更具有普適性。
1.基本原理
計(jì)算梁的內(nèi)力時(shí),因?yàn)榱旱淖冃魏苄。槐乜紤]其跨長(zhǎng)的變化。在這種情況下,內(nèi)力和荷載成線性關(guān)系。一般而言,只要所求的量(如內(nèi)力、位移等)是荷載的線性函數(shù),則可先求該量在每一荷載單獨(dú)作用下的值,然后疊加,即為幾個(gè)荷載聯(lián)合作用下該量的總值,此即疊加原理。由于內(nèi)力可以疊加,所以內(nèi)力圖也可以疊加。
2.單跨靜定梁通用模型MATLAB子程序應(yīng)用舉例
以單跨靜定左端外伸梁為例,編制該梁通用模型MATLAB子程序。
【例】求圖6所示單跨靜定左端外伸梁剪力圖和彎矩圖。
圖6
【程序設(shè)計(jì)】
部分運(yùn)行程序如下:
請(qǐng)輸入整個(gè)外伸梁的長(zhǎng)度,即簡(jiǎn)支段與外伸段長(zhǎng)度之和,單位為m:5
L=5
請(qǐng)輸入左端外伸梁左端外伸段的長(zhǎng)度,為正值,單位為m:1
L1=1
請(qǐng)輸入簡(jiǎn)支段長(zhǎng)度,單位為m:4
L2=4
……
【運(yùn)行結(jié)果】
如圖7。
圖7
Matlab是一種數(shù)據(jù)可視化的開(kāi)放型高級(jí)編程語(yǔ)言,其圖形用戶界面簡(jiǎn)稱為GUI(Graphic User Interface),利用這些界面和設(shè)計(jì)的回調(diào)函數(shù),可以實(shí)現(xiàn)人機(jī)互動(dòng)交流,并且實(shí)現(xiàn)結(jié)構(gòu)模型和結(jié)果的可視化[4]。
借助MATLAB圖形用戶界面設(shè)計(jì)單跨靜定梁MATLAB GUI可視化教學(xué)界面,學(xué)生僅需根據(jù)題目條件輸入?yún)?shù),點(diǎn)擊運(yùn)行按鈕,即可得出力學(xué)結(jié)果,可以有效地化解教學(xué)難點(diǎn),提高學(xué)生學(xué)習(xí)效率和學(xué)習(xí)興趣。
通過(guò)對(duì)數(shù)據(jù)結(jié)構(gòu)、前處理程序及數(shù)據(jù)輸入和讀取進(jìn)行設(shè)計(jì)[5],得到單跨靜定梁可視化教學(xué)界面。MATLAB在工程力學(xué)中的應(yīng)用,將枯燥、乏味的工程力學(xué)問(wèn)題,結(jié)合計(jì)算機(jī)編程序或者利用圖形用戶界面求解不但省時(shí)省力,而且將計(jì)算結(jié)果,形象生動(dòng)地繪制出來(lái),既經(jīng)濟(jì)方便,又能實(shí)現(xiàn)資源共享,促進(jìn)《工程力學(xué)》信息化教學(xué)的開(kāi)發(fā)與建設(shè),提高力學(xué)教學(xué)效果,具有推廣和應(yīng)用價(jià)值。
[1]吳彩鈴,曾立.MATLAB軟件在力的分解教學(xué)中的應(yīng)用[J].大眾科技,2015,(7).
[2]黃方,章向明.MATLAB在工程力學(xué)中的應(yīng)用[J].科技資訊,2014,(28).
[3]王甲春,鄭偉偉.MATLAB GUI技術(shù)在梁的內(nèi)力分析可視化中的應(yīng)用[J].廈門理工學(xué)院學(xué)報(bào),2009,(4).
[4]李彤,項(xiàng)四通,李吉宗.基于Matlab的材料力學(xué)圖形用戶界面系統(tǒng)開(kāi)發(fā)[J].實(shí)驗(yàn)室研究與探索,2010,(8).
[5]崔海軍.基于MATLAB單跨靜定梁內(nèi)力和變形可視化研究[J].四川水泥,2014,(12).
(責(zé)任編輯:卓如)
G424.1
A
1671-802X(2016)01-0065-04
2016-01-03
崔海軍(1979-),男,江蘇鹽城人,副教授,博士研究生,研究方向:結(jié)構(gòu)工程、橋梁工程和工程力學(xué)。E-mail:19408313@qq.com.
江蘇省力學(xué)學(xué)會(huì)教育教學(xué)研究課題《MATLAB技術(shù)在高職<工程力學(xué)>教學(xué)中應(yīng)用和研究》(2015jslxjy0003)
安徽電子信息職業(yè)技術(shù)學(xué)院學(xué)報(bào)2016年1期