您好, 訪客   登錄/注冊

淺談對《MATLAB程序設計》課程基礎教學內容的思考

來源:用戶上傳      作者:

  摘要:本文簡要介紹了MATLAB軟件和《MATLAB程序設計》課程,結合筆者的教學實踐,對程序設計的重要性給出了自己的認識,最后從四個方面對《MATLAB程序設計》課程的基礎教學內容進行了探討,并且給出了自己提高學生程序設計的途徑。
  關鍵詞:MATLAB軟件;矩陣;畫圖;符號變量;程序設計
  中圖分類號:G642.0     文獻標志碼:A     文章編號:1674-9324(2019)18-0264-03
   一、對MATLAB軟件及《MATLAB程序設計》課程的介紹
  MATLAB是美國MathWorks公司開發的集數值計算、符號計算和可視化計算于一體的科學和工程計算大型綜合型軟件[1]。它具有出色的科學計算機數據處理能力,強大的圖形處理功能和符號計算功能。
  MATLAB是matrix(矩陣)和laboratory(實驗室)兩個單詞縮寫,故MATLAB處理的主要對象是矩陣。MATLAB幾乎把所有的處理對象都當作矩陣。例如一個行向量或列向量可以看成一個1×n或n×1的矩陣;一個數可以看成1×1的矩陣。甚至一個字符串也可以看成一個矩陣,只不過這時矩陣的元素不再是數,而是字符。
  MATLAB程序主要由主程序和各種工具包組成,其中主程序包含數百個內部核心函數,三十幾種工具包。除內部函數外,所有MATLAB主包文件和各種工具包都是可讀可修改的文件,用戶通過對源程序的修改或加入自己編寫程序構造新的專用工具包[2]。
  《MATLAB程序設計》是我校數學專業的專業選修課,非數學專業的公共選修課。課程的教學地點在機房,主要采取理論與上機相結合的授課方式。MATLAB內容之豐富,涉及專業之廣,但由于受學生專業知識和學時的限制,我們主要側重MATLAB基礎內容的教授。
  二、對數學軟件重要性的強調
  很多普通高校在開設MATLAB課程之前,已有對程序設計課程的開設,例如C語言。C語言之類課程的開設對于MATLAB課程的學習是有益的。筆者認為學了C語言之類的課程,就已經會進行初步的程序設計。但是在筆者的教學中,很多學生在學MATLAB時依然不知怎么設計程序去解決實際問題。歸其原因,學生對于先前開設的程序設計課程的重要性沒有足夠的認識,導致程序設計基礎不扎實。
  對于上世紀80年代以前的理工科學生,尤其對于數學專業的學生做研究,筆和紙已經基本可以滿足驗算需求。但隨著科學技術的發展和人們對于計算效率的追求,筆和紙早已不能滿足人們的需求。例求如解線型方程組為例,很多時候我們所求解方程的未知數成千上萬,乃至千萬,這是筆和紙難以演算的,但是對于計算機卻可以輕松完成。
  所以數學軟件是人們筆和紙的延伸,它可以更高效更準確地演算比較繁雜的問題。因此,對于理工科學生而言,熟練掌握一門數學軟件的是非常重要而且是必要的,否則將會在以后工作學習中遭遇瓶頸。
  三、對《MATLAB程序設計》教學的思考
  鑒于學生專業知識和學時的限制以及我校的本科生程序設計之薄弱。筆者著重從以下四個基本模塊去講解MATLAB,并且對每個模塊中的部分重難點給出了自己講解思路。筆者認為學生如果能夠熟練掌握這四個模塊,那么根據自己的專業去學習更多的函數命令和工具箱將不再是件困難的事情。
  模塊3:符號變量。在筆者的《MATLAB程序設計》教學中,很多學生對符號變量感到很茫然,不知為何物。其實符號變量就是我們初中教學中提到的“代數”,其作用是用字母代替數。這樣,我們的推導才具有一般性。
  MATLAB有兩種定義符號變量的命令:sym和syms。sym既可以定義符號變量又可以定義符號表達式,但是sym每次只能定義一個符號變量。syms每次可以定義多個符號變量,但是不能直接定義符號表達式。如果符號表達式比較復雜或冗長且涉及到多個符號變量,我們往往先用syms定義符號表達式中所有的符號變量,再定義符號表達式。
  在MATLAB中需要先定義符號變量或者符號表達式,才能進行求積分、求極限、因式分解等運算。因此掌握符號變量能夠很大程度上節約我們的演算推導時間。
  模塊4:程序設計。MATLAB需要建立m文件進行程序設計,其中m文件分為命令式m文件和函數式m文件。在命令式m文件進行編程然后在命令窗口中運行,與在命令窗口中直接運行命令式m文件中的程序是沒有本質區別的。唯一的區別是命令窗口中的程序易于修改,可以反復運行。函數式m文件在命令窗口中運行,直接輸出形式參數指定的變量,程序中的中間變量則隨著程序運行的結束被釋放掉。
  程序設計具有比較強的邏輯性、嚴謹性、實踐性和技巧性。因此,學習任何一門計算機語言只有反復的上機操作,才能不斷提高。在筆者的MATLAB教學中,筆者通過下面途徑提高學生的程序設計能力。
  (1)熟練掌握MATLAB語法部分。計算機語言的語法學習是比較枯燥的,但是這也是掌握一門計算機語言的基礎。不懂語法,便無從編程。所以這一塊要下功夫,反復練習直到熟練掌握。
 ?。?)提高學生程序設計的興趣。興趣是最好的老師。無論是在課堂上練習還是布置作業,筆者會盡可能選擇一些比較富有趣味性的問題作為程序設計的題目。例如猜數游戲:首先由計算機產生[1,100]之間的隨機整數,然后由用戶猜測所產生的隨機數。根據用戶猜測的情況給出不同提示,如猜測的數大于產生的數,則顯示“High”,小于則顯示“Low”,等于則顯示“You won”,同時退出游戲。用戶最多可以猜7次。
  (3)理清思路。筆者在課堂上給出的問題,學生們一般知道解決的方法,但是不善于理清解決問題的思路。筆者會通過一兩個問題,引導他們理清解決問題的步驟。我們以猜數游戲為例。
  第1步:隨機產生一個1~100之內的正整數,并賦值給變量。   第2步:我們需要輸入一個數與a進行比較,將這個數賦值給b。
  第3步:開始對a和b進行比較。如果a大于b,提示信息“Low”;如果a小于b,給出提示信息“High”;如果a等于b,給出提示信息“You Won”,且退出循環。
  第4步:這個程序要求最多猜7次。所以我們需要循環第2~3步7次,并在循環結束后給出提示信息“程序結束”。
  讓學生學會理清解決問題的步驟,然后按步驟一步步地解決問題,最后就完成了程序設計。
  四、結語
  筆者認為《MATLAB程序設計》作為一門選修課,面對不同專業的學生,講授不能過于膚淺而寬泛。通過少而精的講解,不但讓學生在課堂上感覺學有所“成”,而且對學生以后根據自己的需要自學MATLAB軟件打下了牢固的基礎。另外,通過筆者自身的科研經驗,深深感受到掌握一門計算機程序設計語言的重要性,所以教師作為“過來人”,在課堂上要反復強調程序設計的重要性,讓學生能夠引起足夠的重視,為以后的發展奠定基礎。
  參考文獻:
  [1]王波,王軍.MATLAB課程的教學改革思考[J].中國電力教育,2012,(28):55-56.
  [2]百度百科.MATLAB[EB/OL].https://baike.baidu.com/item/MATLAB/263035?fr=aladdin.
  Abstrcat:This paper briefly introduces MATLAB software and MATLAB program design course.In combination with the author's teaching practice,it gives the author's understanding of the importance of program design.Finally,it discusses the basic teaching content of the course of MATLAB program design from four aspects,and gives the way to improve student program design.
  Key words:MATLAB software;matrix;plotting;symbolic variable;the program design
轉載注明來源:http://www.hailuomaifang.com/9/view-14827586.htm

?
99久久国产综合精麻豆