王建衛
?
MATLAB語言在計算的可視化教學中的應用
王建衛
(東北林業大學 機電工程學院,黑龍江 哈爾濱150040)
為了解決計算的可視化教學問題,應用TRIZ理論的相反原則,提出了通過MATLAB語言程序設計實現計算的可視化的教學模式.在該模式中掌握MATLAB編程原理和提高應用軟件的能力并重,進行了突出計算功能和繪圖功能的教學設計.將MATLAB語言教學的主要內容歸納為MATLAB語言基礎、計算和繪圖3部分內容.教學實踐證明,基于MATLAB語言實現計算可視化教學模式能夠激發學生學習的效率,提高教學效果.
計算的可視化;TRIZ理論;MATLAB
在前蘇聯發明家G S Altshuller的領導下,前蘇聯的研究機構、大學和企業組成了TRIZ的研究團體,分析了世界近250萬份高水平的發明專利,總結出各種技術發展進化遵循的規律模式以及解決各種技術矛盾和物理矛盾的創新原理和法則.建立了一個由解決技術,實現創新開發的各種方法、算法組成的綜合理論體系,并綜合多學科領域的原理和法則,建立起了TRIZ理論體系[1].自TRIZ理論誕生以來,國外就一直比較注重TRIZ理論的研究、教育和實踐工作.我國對于TRIZ理論的研究還處于初級階段,對于教學,特別是本科生的教學方面的應用需要加強.本文以相反原則為例,對MATLAB語言在計算可視化教學中的應用進行研究[2-3].
MATLAB是美國Mathworks公司推出的用于科學計算和圖形處理的可編程軟件系統,2004年推出的MATLAB 7.0版包括基本部分和專業擴展部分,其中基本部分有28個函數庫,常用的函數約1 200多個;專業擴展部分為用于解決某一方面專門問題的各種子程序集.
由于MATLAB的函數繁多,應用范圍廣泛,在教學中,對下述問題的思考是必要的[4-5]:
1.1 以計算的可視化功能為主線的教學模式
以函數庫的函數功能介紹、函數應用為教學過程的主線還是以計算的可視化功能為主線曾經是MATLAB課程教學中的2種模式[6-7].從TRIZ理論的觀點來看,以功能的視點來教學是MATLAB語言教學的必然之路[8-9].
1.2掌握編程原理和提高應用軟件能力并重
MATLAB是編程語言,也是軟件環境,因此學習MATLAB既要培養編程能力,也要提高軟件應用能力.在教學中應以MATLAB的某一當前主流版本為基礎,注重提高應用英文軟件能力,理解MATLAB編程的思想,重點講述MATLAB編程的基本原理.
1.3突出計算功能和繪圖功能
數值計算函數涵蓋了數據分析、矩陣分析、多項式函數、數值插值與擬合和數值微分與積分等方面,符號計算函數涵蓋了符號矩陣分析、符號多項式函數、符號級數、符號微積分、符號積分變換、符號微分方程和代數方程的求解等方面,因此符號計算具有更廣泛的應用范圍.
1.4函數講解與大學數學內容的結合
由于MATLAB的函數很多,教學中不可能介紹各個函數庫中的所有函數,因此應主要以高等數學和線性代數課程為基礎介紹相應函數庫中的常用函數[10-11].
綜上可知,MATLAB語言的主要內容分為3部分:MATLAB基礎(包括軟件環境及數據類型、流程控制語句)、計算和繪圖.
靈活應用函數是編寫MATLAB程序的難點,而有些函數看似簡單,但應用并不簡單,這也是初學者的障礙.本文應用TRIZ理論的相反原則,選取了等量代換、求素數和三維繪圖3個數學問題[12],用幾個不同的函數編寫不同思路的程序來解決問題,以說明不用常規的解決方法往往能夠更好地解決問題.MATLAB 7.X版本是目前所使用的主流版本,本文下述的M文件均在MATLAB7.X的環境下運行通過.
例1 subs函數的應用.
syms a b x;%創建符號變量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})%分別以標量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)})%
分別以標量2,3替換符號變量a,b,以符號常量
pi/3替換符號變量x
f5 =
2+3^(1/2)
f6=subs(f,{a,b,x},{2,2,pi/3})%分別以標
量2,3,pi/3替換符號變量a,b和x
f6 =3.7321
等量代換是高等數學中的基本問題之一,可用于解決一般的解析式求解問題和把復雜的計算問題簡單化.為了達到一定的計算精度,輔助元的選擇是等量代換的關鍵問題.在例1中,以符號計算為例,說明了通過等量代換計算新函數的解析式方法和應用等量代換實現精確計算的方法,這有助于幫助學生分析復雜的等量代換形式,從而建立代數問題的可視化解題思路,有助于提高解題效率.
例2求全部兩位數的素數.
方法1 應用二重循環程序實現
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 應用find函數和循環程序實現
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
執行結果:
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
素數問題是數論的基本問題之一,例2中的方法1和方法2是通過經典的數值計算方法實現的,方法3是通過符號計算函數factor進行因式分解實現的.分析這3種方法,可見方法3具有簡單、易懂的優點,這將有利于學生開拓解決數論問題的思路,實現數值計算和符號計算的同步應用.
方法1
x=-1:0.05:1;y=x; [x,y]=meshgrid(x,y); z=x.^2+2*y.^2; surf(x,y,z)
執行結果見圖1.
方法2
syms x y;f=x^2+y^2;ezsurf(f)% -2π≤x≤2π,-2π≤y≤2π
三維繪圖是高等數學中的難點和重點,簡單的解析式往往對應著復雜的三維圖形.例3中方法1是三維空間作圖思路的MATLAB實現,方便地實現了三維曲面的繪制;方法2是通過更為簡單的符號計算語句實現了快速三維繪圖.這意味著三維圖形繪制的方法不是唯一的,激發了學生學習計算問題的主動性,在一定程度上有助于培養學生的創新思維.

圖1 函數的三維曲面圖
開展TRIZ理論在課程教學中的應用研究能夠更新傳統教育的觀念,有利于對學生進行創新教育和創新能力的培養.本文應用TRIZ理論的相反原則介紹了應用MATLAB語言程序設計實現計算的可視化教學的過程,并通過實際的課堂教學案例說明應用TRIZ理論進行教學的必要性.
[1] 黑龍江省科學技術廳.TRIZ理論入門導讀[M].哈爾濱:黑龍江科學技術出版社,2007:19-73
[2] 張新顏.基于知識圖譜的國內外數學問題解決研究可視化分析[J].數學通報,2015,54(8):14-18
[3] 王建衛,曲中水.MATLAB7.X程序設計[M].北京:中國水利水電出版社,2007:67-185
[4] 張維忠,唐慧榮.可視化教學內容設計的五大原則[J].電化教育研究,2010(10):99-102
[5] 成凌飛,高娜.培養本科生創新思維的知識可視化教學法[J].教育教學論壇,2012(36):53-55
[6] 孫欣,馮艷,吳志丹,等.MATLAB軟件可視化效果在大學數學中的應用[J].沈陽師范大學學報:自然科學版,2014, 32(4):549-552
[7] 姚瓊,高東娟.面向獨立學院學生的線性代數課程“可視化”教學研究[J].大學數學,2013,29(1):6-10
[8] 李正學,程明松,楊潔.基于Matlab的智能計算課程可視化教學[J].教育教學論壇,2013(17):263-264
[9] 吳雅娟,楊王黎,梁吉勝,等.基于可視化技術構建《計算方法》課程探究式教學環境[J].西南師范大學學報:自然 科學版,2014(8):141-144
[10] 郭美榮,侴愛輝,夏德宏,等.可視化教學法在實驗教學中的應用[J].實驗室研究與探索,2012,31(11):128-130
[11] 阿榮.Maple在線性代數教學中的應用[J].高等數學研究,2013,16(4):97-99
[12] 韓明.將數學實驗的思想和方法融入大學數學教學[J].大學數學,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
王建衛(1973-),女,山東龍口人,副教授,博士,從事模式識別與智能系統研究.E-mail:jwwang2007@163.com