王建衛(wèi)
?
MATLAB語言在計(jì)算的可視化教學(xué)中的應(yīng)用
王建衛(wèi)
(東北林業(yè)大學(xué) 機(jī)電工程學(xué)院,黑龍江 哈爾濱150040)
為了解決計(jì)算的可視化教學(xué)問題,應(yīng)用TRIZ理論的相反原則,提出了通過MATLAB語言程序設(shè)計(jì)實(shí)現(xiàn)計(jì)算的可視化的教學(xué)模式.在該模式中掌握MATLAB編程原理和提高應(yīng)用軟件的能力并重,進(jìn)行了突出計(jì)算功能和繪圖功能的教學(xué)設(shè)計(jì).將MATLAB語言教學(xué)的主要內(nèi)容歸納為MATLAB語言基礎(chǔ)、計(jì)算和繪圖3部分內(nèi)容.教學(xué)實(shí)踐證明,基于MATLAB語言實(shí)現(xiàn)計(jì)算可視化教學(xué)模式能夠激發(fā)學(xué)生學(xué)習(xí)的效率,提高教學(xué)效果.
計(jì)算的可視化;TRIZ理論;MATLAB
在前蘇聯(lián)發(fā)明家G S Altshuller的領(lǐng)導(dǎo)下,前蘇聯(lián)的研究機(jī)構(gòu)、大學(xué)和企業(yè)組成了TRIZ的研究團(tuán)體,分析了世界近250萬份高水平的發(fā)明專利,總結(jié)出各種技術(shù)發(fā)展進(jìn)化遵循的規(guī)律模式以及解決各種技術(shù)矛盾和物理矛盾的創(chuàng)新原理和法則.建立了一個(gè)由解決技術(shù),實(shí)現(xiàn)創(chuàng)新開發(fā)的各種方法、算法組成的綜合理論體系,并綜合多學(xué)科領(lǐng)域的原理和法則,建立起了TRIZ理論體系[1].自TRIZ理論誕生以來,國(guó)外就一直比較注重TRIZ理論的研究、教育和實(shí)踐工作.我國(guó)對(duì)于TRIZ理論的研究還處于初級(jí)階段,對(duì)于教學(xué),特別是本科生的教學(xué)方面的應(yīng)用需要加強(qiáng).本文以相反原則為例,對(duì)MATLAB語言在計(jì)算可視化教學(xué)中的應(yīng)用進(jìn)行研究[2-3].
MATLAB是美國(guó)Mathworks公司推出的用于科學(xué)計(jì)算和圖形處理的可編程軟件系統(tǒng),2004年推出的MATLAB 7.0版包括基本部分和專業(yè)擴(kuò)展部分,其中基本部分有28個(gè)函數(shù)庫,常用的函數(shù)約1 200多個(gè);專業(yè)擴(kuò)展部分為用于解決某一方面專門問題的各種子程序集.
由于MATLAB的函數(shù)繁多,應(yīng)用范圍廣泛,在教學(xué)中,對(duì)下述問題的思考是必要的[4-5]:
1.1 以計(jì)算的可視化功能為主線的教學(xué)模式
以函數(shù)庫的函數(shù)功能介紹、函數(shù)應(yīng)用為教學(xué)過程的主線還是以計(jì)算的可視化功能為主線曾經(jīng)是MATLAB課程教學(xué)中的2種模式[6-7].從TRIZ理論的觀點(diǎn)來看,以功能的視點(diǎn)來教學(xué)是MATLAB語言教學(xué)的必然之路[8-9].
1.2掌握編程原理和提高應(yīng)用軟件能力并重
MATLAB是編程語言,也是軟件環(huán)境,因此學(xué)習(xí)MATLAB既要培養(yǎng)編程能力,也要提高軟件應(yīng)用能力.在教學(xué)中應(yīng)以MATLAB的某一當(dāng)前主流版本為基礎(chǔ),注重提高應(yīng)用英文軟件能力,理解MATLAB編程的思想,重點(diǎn)講述MATLAB編程的基本原理.
1.3突出計(jì)算功能和繪圖功能
數(shù)值計(jì)算函數(shù)涵蓋了數(shù)據(jù)分析、矩陣分析、多項(xiàng)式函數(shù)、數(shù)值插值與擬合和數(shù)值微分與積分等方面,符號(hào)計(jì)算函數(shù)涵蓋了符號(hào)矩陣分析、符號(hào)多項(xiàng)式函數(shù)、符號(hào)級(jí)數(shù)、符號(hào)微積分、符號(hào)積分變換、符號(hào)微分方程和代數(shù)方程的求解等方面,因此符號(hào)計(jì)算具有更廣泛的應(yīng)用范圍.
1.4函數(shù)講解與大學(xué)數(shù)學(xué)內(nèi)容的結(jié)合
由于MATLAB的函數(shù)很多,教學(xué)中不可能介紹各個(gè)函數(shù)庫中的所有函數(shù),因此應(yīng)主要以高等數(shù)學(xué)和線性代數(shù)課程為基礎(chǔ)介紹相應(yīng)函數(shù)庫中的常用函數(shù)[10-11].
綜上可知,MATLAB語言的主要內(nèi)容分為3部分:MATLAB基礎(chǔ)(包括軟件環(huán)境及數(shù)據(jù)類型、流程控制語句)、計(jì)算和繪圖.
靈活應(yīng)用函數(shù)是編寫MATLAB程序的難點(diǎn),而有些函數(shù)看似簡(jiǎn)單,但應(yīng)用并不簡(jiǎn)單,這也是初學(xué)者的障礙.本文應(yīng)用TRIZ理論的相反原則,選取了等量代換、求素?cái)?shù)和三維繪圖3個(gè)數(shù)學(xué)問題[12],用幾個(gè)不同的函數(shù)編寫不同思路的程序來解決問題,以說明不用常規(guī)的解決方法往往能夠更好地解決問題.MATLAB 7.X版本是目前所使用的主流版本,本文下述的M文件均在MATLAB7.X的環(huán)境下運(yùn)行通過.
例1 subs函數(shù)的應(yīng)用.
syms a b x;%創(chuàng)建符號(hào)變量a,b和x
f1=subs(f,'a',sym('2'))%以符號(hào)常量2替換
符號(hào)變量a
f1 =
2*sin(x)+b
f2=subs(f,{a,b},{sym('2'),sym('3')})%
分別以符號(hào)常量2,3替換符號(hào)變量a,b
f2 =
2*sin(x)+3
f3=subs(f,{a,b},{3,2})%分別以標(biāo)量2,3
替換符號(hào)變量a,b
f3 =
3*sin(x)+2
f4=subs(f,'sin(x)',sym('y'))%以符號(hào)變量
y替換符號(hào)表達(dá)式sin(x)
f4 =
a*y+b
f5=subs(f,{a,b,x},{2,2,sym(pi/3)})%
分別以標(biāo)量2,3替換符號(hào)變量a,b,以符號(hào)常量
pi/3替換符號(hào)變量x
f5 =
2+3^(1/2)
f6=subs(f,{a,b,x},{2,2,pi/3})%分別以標(biāo)
量2,3,pi/3替換符號(hào)變量a,b和x
f6 =3.7321
等量代換是高等數(shù)學(xué)中的基本問題之一,可用于解決一般的解析式求解問題和把復(fù)雜的計(jì)算問題簡(jiǎn)單化.為了達(dá)到一定的計(jì)算精度,輔助元的選擇是等量代換的關(guān)鍵問題.在例1中,以符號(hào)計(jì)算為例,說明了通過等量代換計(jì)算新函數(shù)的解析式方法和應(yīng)用等量代換實(shí)現(xiàn)精確計(jì)算的方法,這有助于幫助學(xué)生分析復(fù)雜的等量代換形式,從而建立代數(shù)問題的可視化解題思路,有助于提高解題效率.
例2求全部?jī)晌粩?shù)的素?cái)?shù).
方法1 應(yīng)用二重循環(huán)程序?qū)崿F(xiàn)
p=1:99;p(1)=0;
for i=2:sqrt(m)
for j=2*i:i:m
p(j)=0;
end
end
n=find(p~=0);
p(n)
方法2 應(yīng)用find函數(shù)和循環(huán)程序?qū)崿F(xiàn)
p=2:99;
for i=2:sqrt(m)
n=find(rem(p,i)==0&p~=i);
p(n)=[];
end
p
方法3
sushu=[];
for ii=10:99
x=factor(ii);
if x==ii
sushu=[sushu ii];
end
end
sushu
執(zhí)行結(jié)果:
sushu =
Columns 1 through 11
11 13 17 19 23 29 31 37 41 43 47
Columns 12 through 21
53 59 61 67 71 73 79 83 89 97
素?cái)?shù)問題是數(shù)論的基本問題之一,例2中的方法1和方法2是通過經(jīng)典的數(shù)值計(jì)算方法實(shí)現(xiàn)的,方法3是通過符號(hào)計(jì)算函數(shù)factor進(jìn)行因式分解實(shí)現(xiàn)的.分析這3種方法,可見方法3具有簡(jiǎn)單、易懂的優(yōu)點(diǎn),這將有利于學(xué)生開拓解決數(shù)論問題的思路,實(shí)現(xiàn)數(shù)值計(jì)算和符號(hào)計(jì)算的同步應(yīng)用.
方法1
x=-1:0.05:1;y=x; [x,y]=meshgrid(x,y); z=x.^2+2*y.^2; surf(x,y,z)
執(zhí)行結(jié)果見圖1.
方法2
syms x y;f=x^2+y^2;ezsurf(f)% -2π≤x≤2π,-2π≤y≤2π
三維繪圖是高等數(shù)學(xué)中的難點(diǎn)和重點(diǎn),簡(jiǎn)單的解析式往往對(duì)應(yīng)著復(fù)雜的三維圖形.例3中方法1是三維空間作圖思路的MATLAB實(shí)現(xiàn),方便地實(shí)現(xiàn)了三維曲面的繪制;方法2是通過更為簡(jiǎn)單的符號(hào)計(jì)算語句實(shí)現(xiàn)了快速三維繪圖.這意味著三維圖形繪制的方法不是唯一的,激發(fā)了學(xué)生學(xué)習(xí)計(jì)算問題的主動(dòng)性,在一定程度上有助于培養(yǎng)學(xué)生的創(chuàng)新思維.
圖1 函數(shù)的三維曲面圖
開展TRIZ理論在課程教學(xué)中的應(yīng)用研究能夠更新傳統(tǒng)教育的觀念,有利于對(duì)學(xué)生進(jìn)行創(chuàng)新教育和創(chuàng)新能力的培養(yǎng).本文應(yīng)用TRIZ理論的相反原則介紹了應(yīng)用MATLAB語言程序設(shè)計(jì)實(shí)現(xiàn)計(jì)算的可視化教學(xué)的過程,并通過實(shí)際的課堂教學(xué)案例說明應(yīng)用TRIZ理論進(jìn)行教學(xué)的必要性.
[1] 黑龍江省科學(xué)技術(shù)廳.TRIZ理論入門導(dǎo)讀[M].哈爾濱:黑龍江科學(xué)技術(shù)出版社,2007:19-73
[2] 張新顏.基于知識(shí)圖譜的國(guó)內(nèi)外數(shù)學(xué)問題解決研究可視化分析[J].?dāng)?shù)學(xué)通報(bào),2015,54(8):14-18
[3] 王建衛(wèi),曲中水.MATLAB7.X程序設(shè)計(jì)[M].北京:中國(guó)水利水電出版社,2007:67-185
[4] 張維忠,唐慧榮.可視化教學(xué)內(nèi)容設(shè)計(jì)的五大原則[J].電化教育研究,2010(10):99-102
[5] 成凌飛,高娜.培養(yǎng)本科生創(chuàng)新思維的知識(shí)可視化教學(xué)法[J].教育教學(xué)論壇,2012(36):53-55
[6] 孫欣,馮艷,吳志丹,等.MATLAB軟件可視化效果在大學(xué)數(shù)學(xué)中的應(yīng)用[J].沈陽師范大學(xué)學(xué)報(bào):自然科學(xué)版,2014, 32(4):549-552
[7] 姚瓊,高東娟.面向獨(dú)立學(xué)院學(xué)生的線性代數(shù)課程“可視化”教學(xué)研究[J].大學(xué)數(shù)學(xué),2013,29(1):6-10
[8] 李正學(xué),程明松,楊潔.基于Matlab的智能計(jì)算課程可視化教學(xué)[J].教育教學(xué)論壇,2013(17):263-264
[9] 吳雅娟,楊王黎,梁吉?jiǎng)伲龋诳梢暬夹g(shù)構(gòu)建《計(jì)算方法》課程探究式教學(xué)環(huán)境[J].西南師范大學(xué)學(xué)報(bào):自然 科學(xué)版,2014(8):141-144
[10] 郭美榮,侴愛輝,夏德宏,等.可視化教學(xué)法在實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2012,31(11):128-130
[11] 阿榮.Maple在線性代數(shù)教學(xué)中的應(yīng)用[J].高等數(shù)學(xué)研究,2013,16(4):97-99
[12] 韓明.將數(shù)學(xué)實(shí)驗(yàn)的思想和方法融入大學(xué)數(shù)學(xué)教學(xué)[J].大學(xué)數(shù)學(xué),2011,27(4):137-141
Application of MATLAB language during the teaching of computation visualization
WANG Jian-wei
(School of Mechanical and Electrical Engineering,Northeast Forest University,Harbin 150040,China)
In order to solve the problem of computing visualization teaching,proposes the teaching mode of computing visualization realized by MATLAB language program design based on TRIZ theory.Mastering MATLAB programming principle and approving the ability of applying software are of the same importance in the mode.It makes the teaching design of the computation function and the plotting function emphasised.It concludes the main content as three parts such as the MATLAB foundation,computation and plotting.The teaching practice indicates that the teaching model of computation visualization realized by MATLAB language can stimulate the students' learning efficiency and improve the teaching effect.
computation visualization;TRIZ theory;MATLAB
1007-9831(2016)10-0070-04
TP312∶G642.0
A
10.3969/j.issn.1007-9831.2016.10.021
2016-05-22
王建衛(wèi)(1973-),女,山東龍口人,副教授,博士,從事模式識(shí)別與智能系統(tǒng)研究.E-mail:jwwang2007@163.com