Glophy Zone Backup

用Google打造免費的Matlab環境 PDF 列印 E-mail
作者 曾正男   
2009/08/20, 週四

Matlab 是一套功能強大的數學計算軟體,特別是它的圖形顯示功能讓許多需要大量立即秀圖的程式設計者需要倚賴這套軟體。但由於這套軟體的價格昂貴,使得我們在教學 推廣上一直受到限制。現在有一套與Matlab 極為相似的自由軟體問世,它名稱為FreeMat ,顧名思義是一套免費的Matlab。但因為是免費的緣故,有許多Matlab toolbox 裡內建的函式,並沒有在FreeMat 上被開發。然而我們卻可以用一些簡單的技巧,透過Google 的幫助,來打造一個完整且免費的Matlab 環境。

FreeMat 是一套免費的科學計算軟體,功能和指令與Matlab 或是Octave 非常相近。它支援許多Matlab 的函式與IDL 功能,與Matlab 一樣可以和C++ 或是 Fortran 程式作串接,並支持平行計算。它是一套開放源碼的軟體,在GPL license 機制下可以自由的運用。它的主網頁在 http://freemat.sourceforge.net/ 這裡有許多關於它的開發新聞,討論,文件以及下載資訊。FreeMat 幾乎涵蓋了主要的作業系統,例如Mac OS, Linux 以及微軟。安裝的過程也非常容易,只要下載檔案點選安裝就可以輕鬆架構出類似Matlab 的計算環境。

安裝完成後幾乎多數的Matlab 函式都能使用,但第一個遇到的麻煩是預設的路徑會是你安裝程式的路徑。特別對Mac 或是 Linux 的使用者來說,這是一件很麻煩的事。每次在儲存變數或是程式的時候,都需要特別注意所在的目錄位置,不然把新增的檔案增加到系統程式的目錄當中,是一件很奇怪的事。因此,我們第一個要做的事就是改變預設的目錄位置。在FreeMat 的工具選單(Tools)中有一個Path Tool,開啟後你可以增加一個你希望FreeMat 預設開啟的目錄,未來如果有toolbox 或是函式庫的路徑,都可以透過Path Tool 來增加FreeMat 自動搜尋的路徑。例如,我們新增一個目錄叫做/Users/xxxx/FreeMat/ 。如果我們希望當FreeMat 開啟之後,自動會移到這一個目錄作為預設的目錄,我們可以在Path Tool 底下的任意一個目錄中增加一個startup.m 檔案。檔案的內容為 cd /Users/xxxx/FreeMat/ 。這樣當FreeMat 開啟後,它會先自動執行startup.m 這個檔案,然後就會將預設的目錄移到你所設定的位置。 

偶而你會遇到一些在Matlab 裡面熟悉的函式,卻沒有出現在FreeMat 裡面,這時你除了自己撰寫m-script 之外,有一個更簡單的方法。就是在網路上搜尋別人已經寫好的m-script。例如,randsample.m 或是 dct.m 這類的函式不是FreeMat 預設的函式。我們可以用Google 大神來搜尋你所欠缺的函式,然後下載到FreeMat Path Tool 底下的相關路徑。建議先設定一個專門放置Toolbox 的目錄,然後在這目錄底下,做好不同學門的分類目錄。例如,randsample.m 可以放置在stats 分類底下。下載後在FreeMat 指令欄裡執行randsample(5,2),你會看到一個錯誤訊息,提到還有其他需要的相關檔案沒有在你的系統當中,這時你可以重複Google 搜尋的動作,把其他相關檔案一一下載回來,就可以打造出你所需要的Matlab 環境。

當然,在使用這些透過Google 下載回來的程式時要特別注意版權的限制,不要侵犯了別人的著作權利。事實上還有一種更暴力的方法可以不用這樣一個程式一個程式慢慢搜尋再下載的方法。Octave 也是一套很類似Matlab 的開放源碼軟體,並且它支援許多領域的套件,你可以先安裝Octave 之後,然後安裝你所需要的套件。再到新增的套件目錄中,把整批的m-script 拷貝到你所要放置的目錄當中。或是把Octave 的套件目錄加到FreeMat 的路徑底下。這樣就可以很快的把同一個套件中所需要的程式都安裝上去。

以上的方法,提供有Matlab 需求又負擔不起龐大軟體費用的窮學生參考,希望對於科學計算的推廣能有所幫助。

最後更新 ( 2009/08/20, 週四 )