2013年12月11日

Octave ( MATLAB 替代軟體 )
























理工相關的工作的人應該大多都聽過 MATLAB 這套功能強大又十分豪華的軟體

MATLAB 就像是一個虛擬的數學實驗室,
對於作各種分析模擬或是演算法,能過很快速的建立好對應的程式
然後有著漂亮的圖形輸出看到結果
當然,該軟體價格也…

如果有學校或公司有 license 可用,當然是最幸福的
若不幸沒有人幫你付錢那……
可以慫恿你老闆去買 license …XD
或是考慮用 open source 的 Octave 來代替




Octave 語法上跟 MATLAB 幾乎完全相容,只有一小部份不一樣
所以,如果對於 Octave 學習資料上覺的不足,也可以直接看 MATLAB 參考
(我是直接看 MATLAB 書,然後在 Octave 上操作學習的)


Octave 官網:http://www.gnu.org/software/octave/

補充一下,
在程式開發上,官方目前還沒有一個很好的 IDE 界面
(這也是略遜於 MATLAB 一點)
目前,是用 QtOctave 作為圖形界面開發環境(非必須)

在 Fedora  上執行

yum install octave qtoctave 

即可安裝好。

亦可用

yum search octave 

搜尋到各領域的 package (Ex: Signal processing tools / General tools / Image processing ...)安裝

另外 Octave 在手機平板上也有 Android 版本
https://play.google.com/store/apps/details?id=com.octave&hl=zh-TW

Octave 在功能上已經完善很多,連一些週邊硬體的通訊界面都可以使用
對於數據擷取、操控等等 應該都足夠了
(目前看到相較於 MATLAB 不足的地方大概就是 GUI 部份,尤其是與使用者互動部份)

下面是我用 Octave 寫的一個簡單範例
這個例子是訓練一個類神經網路辨識 1、2、3、4 這四個數字的圖形
訓練完成後,輸入一個有缺陷(有雜訊或是缺少某些點)的圖形
讓類神經網路去"猜"是什麼數字?

四個曲線圖是學習誤差收斂情況
input 是輸入有缺陷的圖形資料
pattern 是辨識出最接近的數字
最下方值方圖是個數字的機率
(此例來說,input 最有可能為數字「3」 機率為 48.331%;
其次是數字「2」 機率為 27.135% ...)







沒有留言: