SCILAB 科學軟體教學 - · PDF fileConférencier : Prénom Nom Date :...

23
Conférencier : Prénom Nom Date : Transparent 1 Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp SCILAB 科學軟體教學 撰寫者: 1. 中央大學大氣科學系 楊善文 2. ( 為本文有貢獻者,記得在此留名。 )

Transcript of SCILAB 科學軟體教學 - · PDF fileConférencier : Prénom Nom Date :...

Conférencier : Prénom Nom Date : Transparent 1

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

SCILAB 科學軟體教學

撰寫者: 1. 中央大學大氣科學系 楊善文 2. ( 為本文有貢獻者,記得在此留名。 )

Conférencier : Prénom Nom Date : Transparent 2

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

SCILAB 是什麼?

SCILAB 是法國信息與自動化研究院 (INRIA) 與 ENPC 開發,一款免費的自由軟體。擁有類似 Matlab 語法與環境。並且也擁有強大的功能的軟體。

免費取得位置: http://www.scilab.org

在筆者撰文時,目前的最新版本是 4.0 版。

Conférencier : Prénom Nom Date : Transparent 3

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

安裝

已編譯的 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 指令訊息而導致編譯失敗。

Conférencier : Prénom Nom Date : Transparent 4

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Windows 版 Scilab 的界面介紹

主視窗 程式命令腳本視窗 繪圖視窗 輔助說明視窗

Conférencier : Prénom Nom Date : Transparent 5

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

主視窗

這是SCILAB 最主要的界面之一,裡面除了底下的指令界面外,上面的按鈕簡介如下:

File :主要用以讀取或執行之前已寫好的命令腳本。 Perference :可以用以調整語系: [ 英文 / 法文 ] 。使

用法文界面者,系統記得要安裝相對應的語系界面,不然許多拉丁字型是無法顯現的。

?:這個問號按鈕中,有一個非常重要的功能: 'Demo',當使用者想找尋一個重要功能時,且看官方說明文件又看不懂時,往往可以看 Demo來查出此功能的相對應語法,非常好用。

Conférencier : Prénom Nom Date : Transparent 6

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Troisième aspect

Décrivez le troisième aspect du sujet

Conférencier : Prénom Nom Date : Transparent 7

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

程式命令腳本視窗

此視窗主要的功用,即為寫程式用。當要寫一支程式時,主視窗的指令界面也許將會不敷使用。尤其是需要不斷重覆嘗試某支程式時,為了能夠檢視之前是否寫正確,看的到程式碼是很重要的。故筆者比較建議使用此視窗來工作。

當寫好一段程式碼時,視窗上的 Execute 鈕中的 Load Scilab 執行它。接著就可以在主視窗上看到執行結果。

當你連續新開一些此操作界面時,可以一次在同一個程式命令腳本視窗下寫多個程式,利用 Windows 鈕底下的選項可以切換分頁。

Conférencier : Prénom Nom Date : Transparent 8

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Windows 版的程式命令腳本視窗

Conférencier : Prénom Nom Date : Transparent 9

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

繪圖視窗

當寫得程式或是腳本有使用繪圖語法時,在執行時即會起動此視窗。其實也可以直接從主視窗叫出繪圖視窗。

繪圖視窗有幾個重要的功能:縮放影像、翻轉、圖片座標軸命名。在 Edit 鈕中。

(更詳細的內容,筆者將於後面的 UNIX 版 Scilab 界面一併介紹。由于筆者作業系統是 Solaris ,對于 Windows 版的 Scilab 圖取得不易。但是 Windows 版與 UNIX/Linux 版的界面有差但是大同小異,故之後再介紹之。 )

Conférencier : Prénom Nom Date : Transparent 10

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Conférencier : Prénom Nom Date : Transparent 11

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

UNIX/Linux 版的 Scilab操作界面

( 此版本的 Scilab 圖示界面是採用 Tcl/Tk 語法寫成的,因此界面與 Windows 版的略有不同,之後會一一說明。 )

主視窗 程式命令腳本視窗 (Tk) 繪圖視窗 輔助說明視窗

Conférencier : Prénom Nom Date : Transparent 12

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

主視窗

跟 windows 版的一樣,擁有一個指令界面。而上方的按鈕中的 Editor 鈕可以開啟程式命令腳本視窗。 Help鍵可以開啟輔助說明視窗。 'Graphic Window N' 鈕用於開啟繪圖視窗。 Demos 用以開啟Demo 視窗,可以展示 Scilab 的功能與語法。

Conférencier : Prénom Nom Date : Transparent 13

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Conférencier : Prénom Nom Date : Transparent 14

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

程式命令腳本視窗

基本上與 Windows 版的界面差異不大,故不多作贅述。 在 options 選單中有選項 (Langue) 可以調整整個程式命

令腳本視窗的語系。 Executer 選單可以執行已寫告一段落的程式指令稿。 如果一次開多分頁來寫不同程式,也可以從 ' 窗戶 ' 選項來切換分頁。

Conférencier : Prénom Nom Date : Transparent 15

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Conférencier : Prénom Nom Date : Transparent 16

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

繪圖視窗

File鍵:這是用來將繪出來的圖形存檔用,不過目前筆者發現它似乎只能存成向量檔 (.svg) ,如果各位有想存成點陣圖檔(例如: png,jpg,tiff......) 的可以使用桌面快照程式來代替。例如筆者常常使用 GIMP來執行此一任務。

Zoom/UnZoom/3D Rot. :當按下 Zoom鍵後,對著圖中框出你想要的區域,再按一下滑鼠鍵即可放大。按下 UnZoom鍵,即會恢復原來大小。按下 '3D Rot.' 後,拉動圖片即可翻轉圖片。

Edit鍵:裡面有很多可以對畫完的圖進行再處理的動作。其中最常用的是 'current axes properties' ,可以直接從此處輸入座標軸名稱、圖片名稱標籤、調整字型角度、字型大小等等。( 不過如果要不斷的繪圖或修正,筆者是建議直接在程式碼中使用 xtitle() 指令比較方便。 )

Conférencier : Prénom Nom Date : Transparent 17

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Conférencier : Prénom Nom Date : Transparent 18

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

繪圖視窗中的 Edit 選項

Conférencier : Prénom Nom Date : Transparent 19

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

輔助說明視窗

幾乎所有的 Scilab 語法都可以在這裡找到使用說明。說明視窗的左上角有一個 [放大鏡 /條列 ]標示,可以切換。一種是條列出索引來找到你想要用的的函式;另一種是輸入關鍵字查尋。

許多跟 Matlab 指令設計上完全一樣的指令,常以mtlb 為開頭,找尋上是很方便的。其它的則多半是帶有 Scilab特殊語法的指令。

說明文件有兩種:英文和法文版 在起動 scilab 時,如果後面接 -l fr 參數,可改變說明

文件的語系,預設是英文版。

Conférencier : Prénom Nom Date : Transparent 20

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Conférencier : Prénom Nom Date : Transparent 21

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Demos 視窗

這是Scilab 非常重要的一個功能之一,從視窗中的選項,選出你想要看的功能。當展示時,主視窗上也會顯現出這段展示的語法。看過展示的語法就可以把它的語法學起來使用。

當輔助說明的內容看不懂時,看Demos往往是一個很好的學習方式。

筆者以前就常常是用看 Demos 的方式來學使用 Scilab ,到了現在也是一樣。

( 不過有時候展示語法是放在對話視窗中。 )

Conférencier : Prénom Nom Date : Transparent 22

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

Conférencier : Prénom Nom Date : Transparent 23

Fichier : /albafile/重要文件/SCILAB資料/SCILAB教學.odp

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()