王海軍(鄂爾多斯應(yīng)用技術(shù)學(xué)院,內(nèi)蒙古 鄂爾多斯 017000)
將MATLAB語(yǔ)言作為理工科公選課的可行性研究
王海軍
(鄂爾多斯應(yīng)用技術(shù)學(xué)院,內(nèi)蒙古 鄂爾多斯 017000)
MATLAB語(yǔ)言作為近年來(lái)流行的一種教學(xué)軟件,在目前的理工科教學(xué)中發(fā)揮著越來(lái)越重要的作用,有鑒于此,考慮將MATLAB語(yǔ)言作為一門(mén)公選課進(jìn)行推廣。文章首先介紹MATLAB語(yǔ)言適合做公選課的特點(diǎn),同時(shí)對(duì)其在一些理工科課程中的應(yīng)用進(jìn)行分析,說(shuō)明將MATLAB語(yǔ)言作為公選課引入到理工科專業(yè)課程教學(xué)中,不僅可以提高學(xué)生的學(xué)習(xí)效率和專業(yè)能力,同時(shí)也有助于提高理工科課程教學(xué)效果,推動(dòng)教學(xué)改革。
MATLAB語(yǔ)言;理工科;公選課
MATLAB軟件作為一種通用性好,分析能力強(qiáng)、設(shè)計(jì)功能完善的數(shù)學(xué)分析軟件,目前被廣泛應(yīng)用于數(shù)值計(jì)算、數(shù)據(jù)處理、圖像分析等科學(xué)和工程研究。MATLAB軟件集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,構(gòu)成了一個(gè)方便友好的用戶環(huán)境,其分析工具箱基本上涵蓋了各個(gè)研究領(lǐng)域通用的和最新的分析方法[1]。將MATLAB語(yǔ)言作為一門(mén)公選課引入到教學(xué)中,不僅可以使學(xué)生掌握一門(mén)計(jì)算機(jī)語(yǔ)言,同時(shí)由于其與其他計(jì)算機(jī)課程和相關(guān)專業(yè)課程有緊密聯(lián)系,因此可以有效促進(jìn)對(duì)其他課程的理解。廣義地講,是教學(xué)科目和學(xué)生所有的學(xué)習(xí)活動(dòng)的綜合。狹義地講,即成為一門(mén)學(xué)科,是將專業(yè)課程學(xué)習(xí)和MATLAB語(yǔ)言有機(jī)地結(jié)合起來(lái),將現(xiàn)代計(jì)算機(jī)語(yǔ)言融入傳統(tǒng)專業(yè)課程,使教與學(xué)融為一體,提高教與學(xué)的效率,改善教與學(xué)的效果,實(shí)現(xiàn)傳統(tǒng)教學(xué)模式的創(chuàng)新[2]。因此文章主要的主要目的是探討將MATLAB語(yǔ)言作為理工科專業(yè)的一門(mén)公選課開(kāi)設(shè)的可行性。
作為一門(mén)非計(jì)算機(jī)專業(yè)理工科公選課,該課程應(yīng)該帶有較強(qiáng)的實(shí)用性和工具性,課程的教學(xué)還應(yīng)注重培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)分析問(wèn)題、解決問(wèn)題的意識(shí),提高學(xué)生自學(xué)能力和接受新知識(shí)能力。而MATLAB語(yǔ)言作為一種功能越來(lái)越強(qiáng)大的計(jì)算機(jī)科學(xué)語(yǔ)言,在科研與工程中的應(yīng)用越來(lái)越廣泛,將MATLAB語(yǔ)言引入理工科甚至其他學(xué)科不僅可以提高學(xué)生對(duì)前期所學(xué)編程語(yǔ)言的理解,同時(shí)有助于其在后期的學(xué)習(xí)中掌握新知識(shí)[3]。MATLAB語(yǔ)言適合作為理工科計(jì)算機(jī)公選課的特點(diǎn)如下。
(一)擁有友好的工作平臺(tái)和編程環(huán)境
隨著MATLAB軟件版本的不斷升級(jí),MATLAB軟件的用戶操作界面也越來(lái)越精致,人機(jī)交互性更強(qiáng),操作更簡(jiǎn)單。簡(jiǎn)單的編程環(huán)境提供了比較完備的調(diào)試系統(tǒng),程序不必經(jīng)過(guò)翻譯就可以直接運(yùn)行,而且能夠及時(shí)地報(bào)告出現(xiàn)的錯(cuò)誤及進(jìn)行出錯(cuò)原因分析[4]。
(二)擁有簡(jiǎn)單易用的程序語(yǔ)言
目前所使用的所有MATLAB語(yǔ)言都是基于最為流行的C語(yǔ)言基礎(chǔ)上的,因此語(yǔ)法特征與C語(yǔ)言極為相似,但是相比C語(yǔ)言程序書(shū)寫(xiě)時(shí)的語(yǔ)法要求,MATLAB語(yǔ)言程序的書(shū)寫(xiě)更為簡(jiǎn)單。MATLAB語(yǔ)言不需對(duì)矩陣的類型、維數(shù)、大小進(jìn)行說(shuō)明,若不預(yù)先分配矩陣的大小則系統(tǒng)會(huì)根據(jù)矩陣元素的多少對(duì)矩陣大小進(jìn)行動(dòng)態(tài)配置,這種動(dòng)態(tài)矩陣使程序的適應(yīng)性提高,更加符合科技人員對(duì)表達(dá)式的書(shū)寫(xiě)格式[5]。
(三)擁有強(qiáng)大的科學(xué)計(jì)算能力
MATLAB軟件擁有600多個(gè)工程中要用到的數(shù)學(xué)運(yùn)算函數(shù),可以方便地實(shí)現(xiàn)用戶所需的各種計(jì)算功能。MATLAB軟件的數(shù)據(jù)可視化功能強(qiáng)大,繪圖簡(jiǎn)單,界面友好,繪出的圖形細(xì)膩且空間立體感強(qiáng),這是傳統(tǒng)編程語(yǔ)言無(wú)法比擬的。MATLAB軟件附加的工具箱幾乎涉及科學(xué)計(jì)算的各個(gè)研究領(lǐng)域,因此它在科學(xué)研究和工程技術(shù)領(lǐng)域有廣泛的應(yīng)用[6]。
作者簡(jiǎn)介:王海軍(1982-),男,漢族,鄂爾多斯應(yīng)用技術(shù)學(xué)院教師,高級(jí)工程師,工學(xué)碩士,研究方向:人工智能算法應(yīng)用。
(四)擁有開(kāi)放的源函數(shù)文件
在MATLAB軟件中除了以C語(yǔ)言函數(shù)為基礎(chǔ)集成的內(nèi)部函數(shù)以外,MATLAB軟件所提供的所有核心文件和工具箱函數(shù)文件都是可讀可改的源文件,用戶可以根據(jù)自身需要通過(guò)對(duì)源文件的修改加入自己的代碼構(gòu)成新的工具箱函數(shù),然后通過(guò)函數(shù)文件名就可以像工具箱函數(shù)一樣在程序中調(diào)用[7]。
(一)MATLAB語(yǔ)言在數(shù)值分析課程中的應(yīng)用
數(shù)值分析是一門(mén)與計(jì)算機(jī)、程序設(shè)計(jì)等密切相關(guān)的實(shí)用性很強(qiáng)的課程,作為交通運(yùn)輸、機(jī)械工程、汽車服務(wù)、自動(dòng)化、和電子信息科學(xué)與技術(shù)專業(yè)中開(kāi)設(shè)的一門(mén)專業(yè)限選課,在學(xué)生后期電路、信號(hào)與系統(tǒng)、自動(dòng)控制原理等課程學(xué)習(xí)中應(yīng)用廣泛,但數(shù)值分析是主要研究求解數(shù)學(xué)模型的算法及有關(guān)理論,公式多、理論推導(dǎo)復(fù)雜,因此學(xué)起來(lái)很困難,如果將MATLAB語(yǔ)言引入到數(shù)值分析課程的學(xué)習(xí)中,利用MATLAB語(yǔ)言來(lái)建模就可以使過(guò)程由抽象變得具體化。例如要求計(jì)算的值,由被積函數(shù)并不一定能夠找到用初等函數(shù)的有限形式表示的原函數(shù),所以對(duì)這種定積分我們可能就求不出解,但是引入MATLAB語(yǔ)言編程后,借助MATLAB語(yǔ)言函數(shù)包,只需要幾行代碼就可以求出相關(guān)問(wèn)題的答案。例如本題在MATLAB語(yǔ)言命令窗口中輸入如下代碼就可求出問(wèn)題答案。
回車得到
輸出的結(jié)果比較復(fù)雜,對(duì)其進(jìn)行轉(zhuǎn)換輸出結(jié)果
輸入
(二)MATLAB語(yǔ)言在化工原理課程中的應(yīng)用
化工原理是一門(mén)關(guān)于化學(xué)加工過(guò)程的技術(shù)基礎(chǔ)課,它為過(guò)程工業(yè)提供科學(xué)基礎(chǔ),對(duì)化工及相近學(xué)科的發(fā)展起支撐作用?;ぴ碚n程具有內(nèi)容多、公式繁、知識(shí)面廣、計(jì)算量大等特點(diǎn),特別是化工原理的操作型計(jì)算較復(fù)雜,經(jīng)常涉及非線性方程和方程組的計(jì)算,需要迭代計(jì)算、手工計(jì)算,對(duì)初值要求高,且工作量大。用普通編程語(yǔ)言如C、VB等編程,需要編寫(xiě)計(jì)算方法,過(guò)程繁瑣。而由于MATLAB集成了大量函數(shù)包,省去了編程的麻煩,因此采用MATLAB語(yǔ)言可以很快得出結(jié)果。例如換熱器的操作型計(jì)算題:在套管換熱器中用水冷卻煤油。煤油的流率為400kg/h,由90°C冷卻到36°C。水的入口溫度15°C。兩流體并流流動(dòng),操作條件下的煤油比熱熔為2190J/(kg·°C)。已知換熱器基于外表面積的總傳熱系數(shù)為860W/ (m2·°C),總換熱面積為0.72m2,求冷卻水用量及出口溫度[8]。本題如果用MATLAB語(yǔ)言編程求解只需如下幾行代碼就可求出結(jié)果。
編寫(xiě)函數(shù)文件function f=heater(t)(文件名為heater.m)
在命令窗口寫(xiě)如下代碼
即可得到結(jié)果t2=33.5°C,qm2=0.1699kg/s=612kg/h。
(三)MATLAB語(yǔ)言在工程力學(xué)中的應(yīng)用
工程力學(xué)作為高等院校理工科學(xué)生的一門(mén)技術(shù)基礎(chǔ)課,是學(xué)生用高等數(shù)學(xué)知識(shí)處理物理問(wèn)題的一門(mén)理論物理課。工程力學(xué)涉及眾多的力學(xué)學(xué)科分支與廣泛的工程技術(shù)領(lǐng)域,是一門(mén)理論性較強(qiáng)、與工程技術(shù)聯(lián)系極為密切的技術(shù)基礎(chǔ)學(xué)科,工程力學(xué)的定理、定律和結(jié)論廣泛應(yīng)用于各行各業(yè)的工程技術(shù)中,是解決工程實(shí)際問(wèn)題的重要基礎(chǔ)。在工程力學(xué)的學(xué)習(xí)中,有些力學(xué)機(jī)構(gòu)的運(yùn)動(dòng)軌跡難以想象,求解運(yùn)動(dòng)軌跡參數(shù)更是要求學(xué)生具有深厚的數(shù)學(xué)功底,這就給數(shù)學(xué)功底一般的學(xué)生造成學(xué)習(xí)困難,因此將MATLAB語(yǔ)言引入到工程力學(xué)的學(xué)習(xí)中,可以將學(xué)生從繁瑣的解題編程中解脫出來(lái),將更多精力投入到對(duì)工程力學(xué)理論的學(xué)習(xí)中。例如:如圖1所示三鉸拱由兩半拱和三個(gè)鉸鏈構(gòu)成,已知每半拱重Q=300kN,L=4m,H= 10m,求支座A、B的約束反力[9]。此題如果采用理論求解,需要能熟練求解線性方程組,但是采用MATLAB語(yǔ)言編程求解,只需要列出該方程組即可求解,求解過(guò)程如下,大大簡(jiǎn)化了人工計(jì)算過(guò)程。
圖1三鉸拱圖
Matlab程序清單
clear%清除內(nèi)存中保存的變量
Q=300;L=4;H=10;%輸入已知條件
A=[1 0-1 0;0 0 0 8*L;0 8*L 0 0;H-4*L 0 0];%平衡方程系數(shù)矩陣
B=[0;8*L*Q;8*L*Q;-3*L*Q];%平衡方程常數(shù)項(xiàng)矩陣
X=AB;%求解
disp('RAX RAY RBX RBY');
disp(X')%顯示結(jié)果
程序運(yùn)行結(jié)果
即支座A的約束反力為RAX=120kN,RAY=300kN,支座B的約束反力為RBX=120kN,RBY=300kN
MATLAB語(yǔ)言作為一種計(jì)算機(jī)語(yǔ)言,相比其他常用語(yǔ)言更加簡(jiǎn)單,學(xué)習(xí)更容易,同時(shí)由于它豐富的函數(shù)工具包,可以使學(xué)生從繁瑣的編程中解脫出來(lái),大大提高學(xué)習(xí)效率。其次,無(wú)論是理工科開(kāi)設(shè)的高等數(shù)學(xué)、大學(xué)物理等基礎(chǔ)課程,還是數(shù)值分析、工程力學(xué)、化工原理、電子線路、信號(hào)與系統(tǒng)、自動(dòng)控制、機(jī)械原理等專業(yè)基礎(chǔ)或?qū)I(yè)課程,都可把MATLAB軟件作為計(jì)算、繪圖或數(shù)據(jù)分析的工具,因此將MATLAB語(yǔ)言作為一個(gè)公選課,讓所有理工科學(xué)生都學(xué)習(xí)這門(mén)課程,可以有效促進(jìn)學(xué)生對(duì)其他課程的學(xué)習(xí)。再次,鑒于目前MATLAB軟件的特點(diǎn)和其在工程研究領(lǐng)域的不斷普及推廣,將MATLAB語(yǔ)言作為一門(mén)計(jì)算機(jī)公選課程或一種教學(xué)工具,在理工科教學(xué)中進(jìn)行普及,必將對(duì)理工科教學(xué)產(chǎn)生積極的影響,使教學(xué)達(dá)到一個(gè)新水平。最后,應(yīng)用MATLAB軟件不但使基礎(chǔ)課和一些專業(yè)課的學(xué)習(xí)變得簡(jiǎn)單,在學(xué)生畢業(yè)設(shè)計(jì)中也被廣泛使用,目前自動(dòng)化、電子信息科學(xué)與技術(shù)等理工科專業(yè)的很多學(xué)生都采用MATLAB軟件作為畢業(yè)設(shè)計(jì)的工具,進(jìn)行實(shí)驗(yàn)數(shù)據(jù)處理、系統(tǒng)仿真。因此如果能夠?qū)ATLAB語(yǔ)言作為一門(mén)公選課在我院推廣,不僅可以使學(xué)生掌握這些知識(shí),提高其專業(yè)能力、計(jì)算機(jī)應(yīng)用能力,同時(shí)也有助于提高理工科院校課程教學(xué)效果,推動(dòng)教學(xué)改革。
[1]胡瑋軍,陳夢(mèng)遷.MATLAB:《工程力學(xué)》輔助教學(xué)的新工具[J].中國(guó)電力教育,2008,10(122):71-73.
[2]秦茂玲,于國(guó)蘭,趙慶楨,等.Matlab軟件與專業(yè)課程的整合教學(xué)研究[J].山東師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,20(4):15-16.
[3]潘峰,薛定宇,陳大力,等.MATLAB語(yǔ)言課程在電氣信息類專業(yè)教學(xué)中的應(yīng)用[J].電氣電子教學(xué)學(xué)報(bào),2009,31:57-60.
[4]張海燕,姚汝方,王明祥.MATLAB語(yǔ)言在混凝土質(zhì)量評(píng)定中的應(yīng)用[J].水利與建筑工程學(xué)報(bào),2003,3(1):30-32.
[5]劉衛(wèi)國(guó),張升平.MATLAB及其在電路分析中的應(yīng)用[J]長(zhǎng)沙鐵道學(xué)院學(xué)報(bào),2001,19(3):77-81.
[6]唐春明,簡(jiǎn)金寶,黃燕玲.信息與計(jì)算科學(xué)專業(yè)開(kāi)設(shè)Matlab課程探討[J].廣西大學(xué)學(xué)報(bào)(哲學(xué)社會(huì)科學(xué)版),2009,31(4):22-23.
[7]王志新.《Matlab程序設(shè)計(jì)》課程建設(shè)的思考[J].科技信息,2009,(21):190-200.
[8]楊金杯,余美瓊,陳文韜,等.Matlab在化工原理教學(xué)中的應(yīng)用[J].化工高等教育,2011(5):83-86.
[9]吳金洪.MATLAB語(yǔ)言在工程力學(xué)教學(xué)中的應(yīng)用[J].金華職業(yè)技術(shù)學(xué)院學(xué)報(bào),2006,6(1):61-63.
In recent years MATLAB language,as a teaching software,is very popular and plays a more and more important role in science and engineering teaching in China.In view of this,we are thinking to take MATLAB language as a public elective course for its promotion.At first,this paper introduces the characteristics which makes MATLAB language suitable as an elective course,at the same time,studies its application in some science and engineering courses.Introducing MATLAB language into professional education of science and engineering as elective course can not only improve the students'learning efficiency and professional ability,but also help to improve the teaching effect of science and engineering courses,promoting teaching reform.
MATLAB language;science and engineering;elective course
2096-000X(2016)16-0204-03
G642
A