簡介
Octave是一種科學計算軟體,旨在提供與Matlab語法兼容的開放原始碼科學計算及數值分析的工具;它同時也是GNU項目成員之一。
操作界面如圖所示。
歷史
系統性開發則是由John W. Eaton在1992年接手才開始的。 第一個alpha測試版是在1993年1月4日發布,1.0穩定版則是在1994年2月17日發布。
其名稱與音樂上的八度沒有直接關係。該軟體乃是以一位早期開發群的成員,同時也以敏於處理數值逼近問題著稱的前化工系教授奧克塔夫·列文斯比爾(Octave Levenspiel)之名命名的。
技術細節
•Octave是以C++的標準模板庫編程而成。
•Octave有自己Octave語言解釋器。
•Octave可以動態外掛程式擴充。
•Octave的解釋器可用gnuplot及Grace產生圖表及列印。
Octave語言
Octave語言是直譯式及結構化(類於第二代的BASIC)的程式語言,支持許多C語言風格的標準函式功能,同時可以使用UNIX的系統調用以進行擴充增進功能,但不支持以引用的方式傳遞參數。
Octave的核心由一組內置的(built-in)矩陣運算語言(如四則運算)和可載入函式(Loadable Function)組成(例如求矩陣逆inv),其餘能在核心語言之上實現而且性能開銷不會顯著增加的函式調用則一般以Octave腳本的形式存在(例如求解方程組的fsolve函式)。Octave解釋器會自動處理各種不同類型的調用。
Octave支持數據建構,也支持基本的面向對象編程,但通常仍把它當作面向過程的程式設計語言來看待。
它的語法基本上與Matlab一致,嚴謹編寫的代碼應同時可在Matlab及Octave運行。但若調用了Matlab工具包,則一般不能直接在Octave上運行,因為Octave附帶的工具包與Matlab並不兼容。
由於Octave是以GNU通用公共許可證許可,所以可以自由地複製、流通與使用。Octave可在大部分的類Unix作業系統中運行,亦可在Microsoft Windows中運行。在Mac OS X中運行也是可能的,但設定較為複雜。
MATLAB兼容性
Octave最初便是模彷Matlab而設計,自然與Matlab有許多相同的功能。這也使得一部分Matlab程式可以直接或經過少量修改在Octave上運行,一些軟體開發小組也使用兩者兼容的語法,直接開發可以同時在Matlab和Octave使用的程式。
矩陣為基礎數據類型之一
內置支持複數
內置功能強大的數學函式及可擴充的庫
用戶可自定函式
1.矩陣為基礎數據類型之一
2.內置支持複數
3.內置功能強大的數學函式及可擴充的庫
4.用戶可自定函式