SCILAB 科學軟體教學 撰寫者: 1.中央大學大氣科學系 楊善文 2. (為本文有貢獻者,記得在此留名。)
SCILAB是什麼? SCILAB是法國信息與自動化研究院(INRIA)與ENPC開 發,一款免費的自由軟體。擁有類似Matlab語法與環境 。並且也擁有強大的功能的軟體。 免費取得位置:http://www.scilab.org 在筆者撰文時,目前的最新版本是4.0版。
安裝 已編譯的Binary版安裝:除了Windows版是直接點擊安裝檔 即可安裝外,其它UNIX/Linux是直接./configure && make install即可。 編譯原始碼方式:1.從官方網頁選擇GNU/Linux平台下載 Scilab-4.0 source version. 2.gunzip scilab-4.0-src-tar.gz 3. tar xvf scilab-4.0-src.tar 4.進入scilab目錄後,執行 ./configure && make all && make install即完成安裝。 注意:Solaris或是BSD系OS可能要用GNU make,也就是 gmake指令,而不是make。在Solaris上./configure時,可能 需要加--without-java參數,筆者目前的測試結果,在編譯 java interface會出現無效的BFD指令訊息而導致編譯失敗。
Windows版Scilab的界面介紹 主視窗 程式命令腳本視窗 繪圖視窗 輔助說明視窗
主視窗 這是SCILAB最主要的界面之一,裡面除了底下的指令 界面外,上面的按鈕簡介如下: File:主要用以讀取或執行之前已寫好的命令腳本。 Perference:可以用以調整語系:[英文/法文]。使用法 文界面者,系統記得要安裝相對應的語系界面,不然許 多拉丁字型是無法顯現的。 ?:這個問號按鈕中,有一個非常重要的功能:'Demo', 當使用者想找尋一個重要功能時,且看官方說明文件又 看不懂時,往往可以看Demo來查出此功能的相對應語 法,非常好用。
Troisième aspect Décrivez le troisième aspect du sujet
程式命令腳本視窗 此視窗主要的功用,即為寫程式用。當要寫一支程式時 ,主視窗的指令界面也許將會不敷使用。尤其是需要不 斷重覆嘗試某支程式時,為了能夠檢視之前是否寫正確 ,看的到程式碼是很重要的。故筆者比較建議使用此視 窗來工作。 當寫好一段程式碼時,視窗上的Execute鈕中的Load Scilab執行它。接著就可以在主視窗上看到執行結果。 當你連續新開一些此操作界面時,可以一次在同一個程 式命令腳本視窗下寫多個程式,利用Windows鈕底下的 選項可以切換分頁。
Windows版的程式命令腳本視窗
繪圖視窗 當寫得程式或是腳本有使用繪圖語法時,在執行時即會 起動此視窗。其實也可以直接從主視窗叫出繪圖視窗。 當寫得程式或是腳本有使用繪圖語法時,在執行時即會 起動此視窗。其實也可以直接從主視窗叫出繪圖視窗。 繪圖視窗有幾個重要的功能:縮放影像、翻轉、圖片座 標軸命名。在Edit鈕中。 (更詳細的內容,筆者將於後面的UNIX版Scilab界面一併 介紹。由于筆者作業系統是Solaris,對于Windows版的 Scilab圖取得不易。但是Windows版與UNIX/Linux版的 界面有差但是大同小異,故之後再介紹之。)
UNIX/Linux版的Scilab操作界面 (此版本的Scilab圖示界面是採用Tcl/Tk語法寫成的,因 此界面與Windows版的略有不同,之後會一一說明。) 主視窗 程式命令腳本視窗(Tk) 繪圖視窗 輔助說明視窗
主視窗 跟windows版的一樣,擁有一個指令界面。而上方的按鈕中的Editor鈕可以開啟程式命令腳本視窗。Help鍵可以開啟輔助說明視窗。'Graphic Window N'鈕用於開啟繪圖視窗。Demos用以開啟Demo視窗,可以展示Scilab的功能與語法。
程式命令腳本視窗 基本上與Windows版的界面差異不大,故不多作贅述。 在options選單中有選項(Langue)可以調整整個程式命令 腳本視窗的語系。 Executer選單可以執行已寫告一段落的程式指令稿。 如果一次開多分頁來寫不同程式,也可以從'窗戶'選項來 切換分頁。
繪圖視窗 File鍵:這是用來將繪出來的圖形存檔用,不過目前筆者發現 它似乎只能存成向量檔(.svg),如果各位有想存成點陣圖檔( 例如:png,jpg,tiff......)的可以使用桌面快照程式來代替。例如 筆者常常使用GIMP來執行此一任務。 Zoom/UnZoom/3D Rot.:當按下Zoom鍵後,對著圖中框出 你想要的區域,再按一下滑鼠鍵即可放大。按下UnZoom鍵 ,即會恢復原來大小。按下'3D Rot.'後,拉動圖片即可翻轉 圖片。 Edit鍵:裡面有很多可以對畫完的圖進行再處理的動作。其中 最常用的是'current axes properties',可以直接從此處輸入座 標軸名稱、圖片名稱標籤、調整字型角度、字型大小等等。( 不過如果要不斷的繪圖或修正,筆者是建議直接在程式碼中 使用xtitle()指令比較方便。)
繪圖視窗中的Edit選項
輔助說明視窗 幾乎所有的Scilab語法都可以在這裡找到使用說明。說明視窗的左上角有一個[放大鏡/條列]標示,可以切換。一種是條列出索引來找到你想要用的的函式;另一種是輸入關鍵字查尋。 許多跟Matlab指令設計上完全一樣的指令,常以mtlb為開頭,找尋上是很方便的。其它的則多半是帶有Scilab特殊語法的指令。 說明文件有兩種:英文和法文版 在起動scilab時,如果後面接 -l fr參數,可改變說明文件的語系,預設是英文版。
Demos視窗 這是Scilab非常重要的一個功能之一,從視窗中的選項 ,選出你想要看的功能。當展示時,主視窗上也會顯現 出這段展示的語法。看過展示的語法就可以把它的語法 學起來使用。 當輔助說明的內容看不懂時,看Demos往往是一個很好 的學習方式。 筆者以前就常常是用看Demos的方式來學使用Scilab, 到了現在也是一樣。 (不過有時候展示語法是放在對話視窗中。)
SCILAB的延伸函式庫 或許各位在工作上或是在實驗室,有需要畫一種一個格點一 個數值,不同的數值會有不同顏色來表示。例如要畫大氣層 的電子濃度分佈或是垂直高度的全電子濃度含量(VTEC)等等 ,這類的圖在Matlab中是使用一種叫做pcolor()的函式。但是 這種函式在Scilab預設是沒有的。因此網路上有些人就為 Scilab寫了延伸函式庫。 plotlib:http://www.dma.utc.fr/~mottelet/myplot.html XmlLAB:http://marguerite.lmac.utc.fr/ 這些延伸函式庫可為scilab提供更多的功能,例如之前題到的 pcolor()在這裡有兩種功能類似的選擇:pcolor(),tripcolor()