王建衛(wèi)
?
MATLAB語言在計算的可視化教學(xué)中的應(yīng)用
王建衛(wèi)
(東北林業(yè)大學(xué) 機電工程學(xué)院,黑龍江 哈爾濱150040)
為了解決計算的可視化教學(xué)問題,應(yīng)用TRIZ理論的相反原則,提出了通過MATLAB語言程序設(shè)計實現(xiàn)計算的可視化的教學(xué)模式.在該模式中掌握MATLAB編程原理和提高應(yīng)用軟件的能力并重,進行了突出計算功能和繪圖功能的教學(xué)設(shè)計.將MATLAB語言教學(xué)的主要內(nèi)容歸納為MATLAB語言基礎(chǔ)、計算和繪圖3部分內(nèi)容.教學(xué)實踐證明,基于MATLAB語言實現(xiàn)計算可視化教學(xué)模式能夠激發(fā)學(xué)生學(xué)習(xí)的效率,提高教學(xué)效果.
計算的可視化;TRIZ理論;MATLAB
在前蘇聯(lián)發(fā)明家G S Altshuller的領(lǐng)導(dǎo)下,前蘇聯(lián)的研究機構(gòu)、大學(xué)和企業(yè)組成了TRIZ的研究團體,分析了世界近250萬份高水平的發(fā)明專利,總結(jié)出各種技術(shù)發(fā)展進化遵循的規(guī)律模式以及解決各種技術(shù)矛盾和物理矛盾的創(chuàng)新原理和法則.建立了一個由解決技術(shù),實現(xiàn)創(chuàng)新開發(fā)的各種方法、算法組成的綜合理論體系,并綜合多學(xué)科領(lǐng)域的原理和法則,建立起了TRIZ理論體系[1].自TRIZ理論誕生以來,國外就一直比較注重TRIZ理論的研究、教育和實踐工作.我國對于TRIZ理論的研究還處于初級階段,對于教學(xué),特別是本科生的教學(xué)方面的應(yīng)用需要加強.本文以相反原則為例,對MATLAB語言在計算可視化教學(xué)中的應(yīng)用進行研究[2-3].
MATLAB是美國Mathworks公司推出的用于科學(xué)計算和圖形處理的可編程軟件系統(tǒng),2004年推出的MATLAB 7.0版包括基本部分和專業(yè)擴展部分,其中基本部分有28個函數(shù)庫,常用的函數(shù)約1 200多個;專業(yè)擴展部分為用于解決某一方面專門問題的各種子程序集.
由于MATLAB的函數(shù)繁多,應(yīng)用范圍廣泛,在教學(xué)中,對下述問題的思考是必要的[4-5]:
1.1 以計算的可視化功能為主線的教學(xué)模式
以函數(shù)庫的函數(shù)功能介紹、函數(shù)應(yīng)用為教學(xué)過程的主線還是以計算的可視化功能為主線曾經(jīng)是MATLAB課程教學(xué)中的2種模式[6-7].從TRIZ理論的觀點來看,以功能的視點來教學(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編程的思想,重點講述MATLAB編程的基本原理.
1.3突出計算功能和繪圖功能
數(shù)值計算函數(shù)涵蓋了數(shù)據(jù)分析、矩陣分析、多項式函數(shù)、數(shù)值插值與擬合和數(shù)值微分與積分等方面,符號計算函數(shù)涵蓋了符號矩陣分析、符號多項式函數(shù)、符號級數(shù)、符號微積分、符號積分變換、符號微分方程和代數(shù)方程的求解等方面,因此符號計算具有更廣泛的應(yīng)用范圍.
1.4函數(shù)講解與大學(xué)數(shù)學(xué)內(nèi)容的結(jié)合
由于MATLAB的函數(shù)很多,教學(xué)中不可能介紹各個函數(shù)庫中的所有函數(shù),因此應(yīng)主要以高等數(shù)學(xué)和線性代數(shù)課程為基礎(chǔ)介紹相應(yīng)函數(shù)庫中的常用函數(shù)[10-11].
綜上可知,MATLAB語言的主要內(nèi)容分為3部分:MATLAB基礎(chǔ)(包括軟件環(huán)境及數(shù)據(jù)類型、流程控制語句)、計算和繪圖.
靈活應(yīng)用函數(shù)是編寫MATLAB程序的難點,而有些函數(shù)看似簡單,但應(yīng)用并不簡單,這也是初學(xué)者的障礙.本文應(yīng)用TRIZ理論的相反原則,選取了等量代換、求素數(shù)和三維繪圖3個數(shù)學(xué)問題[12],用幾個不同的函數(shù)編寫不同思路的程序來解決問題,以說明不用常規(guī)的解決方法往往能夠更好地解決問題.MATLAB 7.X版本是目前所使用的主流版本,本文下述的M文件均在MATLAB7.X的環(huán)境下運行通過.
例1 subs函數(shù)的應(yīng)用.
syms a b x;%創(chuàng)建符號變量a,b和x
f1=subs(f,'a',sym('2'))%以符號常量2替換
符號變量a
f1 =
2*sin(x)+b
f2=subs(f,{a,b},{sym('2'),sym('3')})%
分別以符號常量2,3替換符號變量a,b
f2 =
2*sin(x)+3
f3=subs(f,{a,b},{3,2})%分別以標(biāo)量2,3
替換符號變量a,b
f3 =
3*sin(x)+2
f4=subs(f,'sin(x)',sym('y'))%以符號變量
y替換符號表達式sin(x)
f4 =
a*y+b
f5=subs(f,{a,b,x},{2,2,sym(pi/3)})%
分別以標(biāo)量2,3替換符號變量a,b,以符號常量
pi/3替換符號變量x
f5 =
2+3^(1/2)
f6=subs(f,{a,b,x},{2,2,pi/3})%分別以標(biāo)
量2,3,pi/3替換符號變量a,b和x
f6 =3.7321
等量代換是高等數(shù)學(xué)中的基本問題之一,可用于解決一般的解析式求解問題和把復(fù)雜的計算問題簡單化.為了達到一定的計算精度,輔助元的選擇是等量代換的關(guān)鍵問題.在例1中,以符號計算為例,說明了通過等量代換計算新函數(shù)的解析式方法和應(yīng)用等量代換實現(xiàn)精確計算的方法,這有助于幫助學(xué)生分析復(fù)雜的等量代換形式,從而建立代數(shù)問題的可視化解題思路,有助于提高解題效率.
例2求全部兩位數(shù)的素數(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
素數(shù)問題是數(shù)論的基本問題之一,例2中的方法1和方法2是通過經(jīng)典的數(shù)值計算方法實現(xiàn)的,方法3是通過符號計算函數(shù)factor進行因式分解實現(xiàn)的.分析這3種方法,可見方法3具有簡單、易懂的優(yōu)點,這將有利于學(xué)生開拓解決數(shù)論問題的思路,實現(xiàn)數(shù)值計算和符號計算的同步應(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é)中的難點和重點,簡單的解析式往往對應(yīng)著復(fù)雜的三維圖形.例3中方法1是三維空間作圖思路的MATLAB實現(xiàn),方便地實現(xiàn)了三維曲面的繪制;方法2是通過更為簡單的符號計算語句實現(xiàn)了快速三維繪圖.這意味著三維圖形繪制的方法不是唯一的,激發(fā)了學(xué)生學(xué)習(xí)計算問題的主動性,在一定程度上有助于培養(yǎng)學(xué)生的創(chuàng)新思維.
圖1 函數(shù)的三維曲面圖
開展TRIZ理論在課程教學(xué)中的應(yīng)用研究能夠更新傳統(tǒng)教育的觀念,有利于對學(xué)生進行創(chuàng)新教育和創(chuàng)新能力的培養(yǎng).本文應(yīng)用TRIZ理論的相反原則介紹了應(yīng)用MATLAB語言程序設(shè)計實現(xiàn)計算的可視化教學(xué)的過程,并通過實際的課堂教學(xué)案例說明應(yīng)用TRIZ理論進行教學(xué)的必要性.
[1] 黑龍江省科學(xué)技術(shù)廳.TRIZ理論入門導(dǎo)讀[M].哈爾濱:黑龍江科學(xué)技術(shù)出版社,2007:19-73
[2] 張新顏.基于知識圖譜的國內(nèi)外數(shù)學(xué)問題解決研究可視化分析[J].?dāng)?shù)學(xué)通報,2015,54(8):14-18
[3] 王建衛(wèi),曲中水.MATLAB7.X程序設(shè)計[M].北京:中國水利水電出版社,2007:67-185
[4] 張維忠,唐慧榮.可視化教學(xué)內(nèi)容設(shè)計的五大原則[J].電化教育研究,2010(10):99-102
[5] 成凌飛,高娜.培養(yǎng)本科生創(chuàng)新思維的知識可視化教學(xué)法[J].教育教學(xué)論壇,2012(36):53-55
[6] 孫欣,馮艷,吳志丹,等.MATLAB軟件可視化效果在大學(xué)數(shù)學(xué)中的應(yīng)用[J].沈陽師范大學(xué)學(xué)報:自然科學(xué)版,2014, 32(4):549-552
[7] 姚瓊,高東娟.面向獨立學(xué)院學(xué)生的線性代數(shù)課程“可視化”教學(xué)研究[J].大學(xué)數(shù)學(xué),2013,29(1):6-10
[8] 李正學(xué),程明松,楊潔.基于Matlab的智能計算課程可視化教學(xué)[J].教育教學(xué)論壇,2013(17):263-264
[9] 吳雅娟,楊王黎,梁吉勝,等.基于可視化技術(shù)構(gòu)建《計算方法》課程探究式教學(xué)環(huán)境[J].西南師范大學(xué)學(xué)報:自然 科學(xué)版,2014(8):141-144
[10] 郭美榮,侴愛輝,夏德宏,等.可視化教學(xué)法在實驗教學(xué)中的應(yīng)用[J].實驗室研究與探索,2012,31(11):128-130
[11] 阿榮.Maple在線性代數(shù)教學(xué)中的應(yīng)用[J].高等數(shù)學(xué)研究,2013,16(4):97-99
[12] 韓明.將數(shù)學(xué)實驗的思想和方法融入大學(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-),女,山東龍口人,副教授,博士,從事模式識別與智能系統(tǒng)研究.E-mail:jwwang2007@163.com