跳到主要內容區塊

ntuccepaper2019

技術論壇

MATLAB即時編輯器應用簡介
  • 卷期:v0037
  • 出版日期:2016-06-20

作者:洪詩涵 / 鈦思科技股份有限公司 應用工程師


即時編輯器(Live Editor)為MATLAB R2016a版本的全新功能,提供全新的方式來建立和執行MATLAB程式碼,在程式碼的頁面內嵌執行的結果,文件內的文字可依需求進行格式調整,還可以加入超連結、圖片及公式。這樣的工具可以幫助老師把原本寫在投影片的上課內容,直接與程式碼整合在一起,上課時老師就可以在單一介面進行教學。學生在Live Editor撰寫作業後,整個文件可以完整的輸出成PDF檔,簡單的製作出最後要繳交給老師文件。

 

MATLAB 應用簡介

MATLAB是高階科技語言,以矩陣運算為基礎,對於運算數學 (computational mathematics)來說,為最易懂且適合的語言。MATLAB提供許多內建的數學函式,美國原廠MathWorks有數百個工程師持續精進MATLAB程式碼的品質,以提供使用者無瑕疵的數值運算。除此之外,函式的命名是符合語意邏輯與英文文法的,搭配語言直譯性的特性,對於程式的撰寫、實現與維持非常有助益。MATLAB提供友善的環境,讓使用者能透過使用者介面 (UI) 讀取資料,如果想要視覺化資料,就可以使用內建的繪圖UI,簡單的客製化出2D或是3D的圖形。此外透過UI所做的任何處理,其相對應的程式碼都可以被輸出,只要在編譯器(Editor)中稍微修改這些程式碼,就可以應用在相同的資料處理上。
基於以上提及的特點,對程式初學者來說,MATLAB是一個極容易學習且使用的語言,學生可以使用MATLAB來對研究數據做高階的處理與繪圖。因為MATLAB有相當多不同領域的工具箱 (Toolbox),對於一些以應用為導向的課程MATLAB也適合用來輔助教學,或更進一步的讓學生實作一些簡單的Project。不過,當老師在準備課程教材時,除了要撰寫上課要展示的程式,還要準備投影片來解釋一些觀念與原理。實際進行教學時,就會需要在ppt和程式語言之間做來來回回的切換。這樣的切換除了較耗時之外,學生在下課後想要複習時也較容易感到疑惑。

 

即時編譯器的應用

最新版本MATLAB R2016a提供了一項新功能:即時編輯器 (Live Editor)。Live Editor除了能夠撰寫程式碼,還融合了一些office的基本功能,像是加入文字、進行文字格式的編輯與插入外部圖片和LaTeX數學公式。如果使用這個工具,老師就可以把原本寫在投影片的上課內容,直接與程式碼整合在一起。在上課時,就可以在單一介面進行教學,這樣對於教學的流程與順暢性會有相當程度的幫忙。除此之外,這樣的教學教材能輔助學生進行更有效率且完整的課後複習。
Live Editor還能幫助學生更快速地完成作業。在過去,學生費了一番工夫寫好了程式碼後,其實還不算完成了作業,因為除了繳交程式碼之外,還需要把計算結果和圖片另外複製到Word中,再利用文字敘述程式的設計概念和結果的解釋。但如果使用Live Editor,在過程中所計算出來的結果與作圖會直接鑲嵌在對應的程式碼下方,這樣不但少了一項做工,還不需要花時間排版,當然文字解釋也可以直接在Live editor裡進行編輯。最後,編輯好的檔案可以完整的輸出成PDF或是HTML檔案,簡單的製作出最後要繳交給老師文件。

 

Liver editor的特點與使用介紹

在深入介紹Live editor之前,要先開啟Live editor,也就是新增一個Live script。首先在HOME頁籤點選New,打開下拉選單後,選擇Live Script,點選後就可以進行程式的撰寫。

 


圖一

 

單一執行介面
以撰寫兩矩陣相乘的程式為例。首先創建一個2×2的實數矩陣a,與一個2×2複數矩陣b,再將兩矩陣相乘。在寫完程式碼後,點選Run All,若使用過去的Editor,答案會出現在Command window中,若使用Liver Editor,答案會直接呈現在程式碼的下方。

 


圖二

 

答案除了能夠呈現在程式碼下方,使用者也可以選擇讓它呈現在程式碼的右方。

 


圖三

 

若程式中出現錯誤,錯誤訊息會直接呈現在Live editor的頁面上,同時也會在相對應的行數出現驚嘆號。在解決掉錯誤並再次執行後,錯誤訊息就會消失。

 


圖四

 

Section的建立與執行
在MATLAB進行演算法的開發與除錯時,開發者可以選擇將程式,依照程式的內容,將程式分割成多個部分,而每部份就稱為一個Section。分割成多個Section的好處在於,開發者可以不用一次執行整個程式,而是可以選擇要執行哪部分的程式碼。在原本的Editor中,Section的創建是在每段程式碼的第一行加入兩個百分比符號(%%),在Live editor中,只要在想要斷開的程式碼結尾處,點選Section Break,就能夠結束當下的Section並且創建出下一個新的Section。

 


圖五

 

若要執行某個Section,除了可以點擊上方的Run Section,也可以將滑鼠移到程式碼的左側,在出現深藍色矩陣的地方點擊滑鼠左鍵,就可以執行此部分的程式碼。這邊的例子是用plot指令畫出一個sine波,x軸的範圍是從1到10。

 


圖六

 

加入敘述文字
撰寫程式的時候,為了增加程式的可讀性與方便未來程式的維持,一般都會在程式中加入一些文字敘述。內容可能是這個程式的功能、設計方法或者是開發者名稱,這些敘述被統稱為註解,註解在程式執行時會自動被跳過。在原本的Editor中,新增註解的方法是在當行開頭打一個百分比符號 (%),在百分比符號之後就可以繼續輸入文字,註解的文字格式與程式碼相同,只不過顏色是綠色的。Live editor加入文字的方法為點擊上方的Text按鈕,接著一個空白行就會新增,在這空白處就可以撰寫想要加入的文字敘述。

 


圖七

 

能擁有不同的文字格式是Live editor的一大特點,藉由格式的編輯,可以在Live editor裡進行完整的報告撰寫,除此之外,Live editor支援任何語言。

 


圖八

 

加入圖片、數學公式與超連結
除了藉由文字進行敘述,有時為了更清楚地描述具體的程式概念,會利用圖片來輔佐解釋。Live editor支援外界圖片的插入,方法為點選上方的Image按鈕,再選擇圖片所在的路徑位置。支援的圖片格式有:jpg, bmp, jpeg, wbmp, png和gif。

 


圖九

 

如果程式中所使用的數學公式非常複雜,他人在閱讀程式的時候,要從程式碼直接建構出公式的樣子是不容易的,大家習慣於書本上公式的寫法。Live editor支援LaTeX 數學公式的鍵入,方法為點選上方Equation按鈕,輸入所需的公式後,在下方同時預覽公式的長相,確定沒有問題後點擊OK就可以插入公式了。

 


圖十

 

如果想提供他人一些參考網站,又或是列出參考的文獻網址,做法不難想像,就是直接把完整的網址貼到程式碼當中,再註解起來。這個方法沒有任何的問題,不過Live Editor有提供超連結的插入,如此一來整個版面會簡潔許多。方法為點選上方的Hyperlink按鈕,分別鍵入想顯示的超鏈結名稱與網站位址,再點擊OK。開啟超連結的方法為Ctrl +滑鼠左鍵。

 


圖十一

 

分享檔案
完成程式碼的撰寫與文字的編輯後,可以選擇將檔案完整輸出成PDF或是HTML的檔案類型,也可以另存成原本Editor使用的m-file格式,只不過文字格式和額外插入的圖片都會消失。

 


圖十二

 

結語

本文介紹了Live Editor的特點與使用方法,冀望校內師生能夠善用此項工具,能夠有助於課程的進行與互動,使得學習更有效率。