原文連結
GNU Octave介紹
GNU Octave是自由軟體基金會(Free Software Foundation)支援的遵循GPL協議(GNU General Public License)的一個自由再發布的軟體,作者是以John W. Eaton為首的一些志願者。它提供了一個環境,該環境支援叫做GNU Octave的進階語言,這種語言與Matlab相容,主要用於數值計算。它提供了一個方便的命令列方式,可以數值求解線性和非線性問題,以及做一些數值類比。
Octave也提供了一些工具包,可以解決一般的線性代數問題,非線性方程求根,常規函數積分,處理多項式,處理常微分方程和微分代數方程。它也很容易的使用Octave內建的介面方式擴充和定製功能。
與前面介紹的Scilab相比,首先它們的共同點是開放原始碼軟體。
Octave的比起Scilab,對Matlab的文法相容性更好,幾乎沒有差別。比如,Octave也使用M檔案的形式來擴充功能和定義函數。因此熟悉Matlab的使用者更容易接受Octave環境。
Octave的功能比起Scilab要簡單一些,這使得Octave對一些使用者來說意義不如Scilab大。
很不幸的是Octave目前沒有圖形介面,我們只能在行命令的方式進行互動。
但是Octave還是有自己的特點:
(1) 它是一個GPL軟體。關於GPL的意義,這裡不介紹,我們要指出的一點是,它允許使用者在遵循GPL協議的前提下,自己發行這個軟體,可以單獨,也可以包含在使用者的產品裡面發行。而Scilab是不允許的,使用者只能免費使用Scilab。
(2) 它可程式化的效能更好, Octave語言功能更為強大,幾乎提供所有系統函數的支援,Octave在文法上也更接近C的文法,比如提供++和這--樣的預算符。這樣,我們可以在 Octave環境裡面增加一些更為強大和易用的擴充。不象在Matlab和Scilab環境中限制比較多,有時無法充分的利用系統資源。
(3) 它的計算庫都是用C寫,而Scilab則基本是Fortran的編寫的。這也是一份有用的資源。
5 結論與思考
(1)開放原始碼會成為軟體開發與發行的重要方式之一。本文介紹的Scilab和Octave都是開放原始碼的數學軟體。Scilab可以免費使用,Octave不僅可以免費使用,還可以遵照GPL協議由使用者再發布。
(2)可以預見,自由數學軟體由於它的開放性,功能會不斷豐富,效能會逐步提高,能夠滿足更多使用者的要求。
(3)與著名的商業性數學軟體Matlab相比,無論從功能還是從效能上Scilab都不遜色。在國內目前售後服務和支援人員有限,而且商業性數學軟體價格昂貴的情況下,完全可以替代Matlab使用。
(4)本文介紹的主要是數值計算軟體。在符號計算方面Mathematica和Maple是目前流行的商業性軟體。開放原始碼的符號計算軟體發展也很快,yacas是目前被看好的一個。
(5)研製和開發國內自有的科學計算環境,是國內計算數學和科學與工程計算工作者多年探索的問題。藉助現有的自由數學軟體,特別是可以遵照GPL協議由使用者再發布的自由數學軟體,可能更加現實。
以上文字來源:
http://www.cnblogs.com/xiexiaokui/archive/2009/05/31/1493246.html
GNU Octave網站:http://www.octave.org/
http://www.gnu.org/software/octave/
郵件清單:octave-dev@lists.sourceforge.net,maintainers@octave.org
Octave
Octave 是一個類似matlab和Scilab的數學軟體包,可以進行各種運算,編程。它還有豐富的C++介面可以讓使用者編程時調用。它繪圖使用gnuplot。首頁是:http://www.octave.org。
大部分的GNU/Linux發行版都包含有它,Windows使用者可以到http://sourceforge.net/projects/octave下載它的Windows版本。
Octave的使用也是基於字元終端模式的,當需要繪圖時,將會調用Gnuplot進行資料繪圖,並顯示出來。
Octave和Gnuplot一樣有詳細的使用手冊,安裝時會帶有HTML格式的文檔,需要PDF文檔的可以到Network Theory Ltd出版社下載PDF電子書。印刷書的定價大概$29.99。
和 Gnuplot一樣,Octave的常用命令及用法也製作了一個卡片,在/usr/share/doc/octave-2.1.50/refcard目錄下,可以列印出來作為參考,共3頁。它的FAQ在/usr/share/doc/octave-2.1.50/faq目錄下。
學習時可以參考Matlab,Octave的文法和Matlab類似。
Octave是用C++編寫的,它內容豐富的庫也可以供使用者在編寫軟體時調用。Octave庫的詳細介紹在/usr/share/doc/octave-2.1.50/liboctave下,檔案是liboctave.dvi,需要PDF檔案的,可以運行:
dvipdfm liboctave.dvi
將dvi檔案轉換為PDF檔案。
Octave同時還支援Fortran等的調用,GSL綁定等。可以由使用者定製自己的函數、子程式等。
以上文字來源: http://www.hebl.name/zh/archives/gnuplot-octave.html
這裡介紹2個大部分GNU/Linux發行版都帶的科學自由軟體:Gnuplot和Octave。
一、Gnuplot
目前它的穩定版本是4.0。它和大多數GNU軟體一樣是字元模式的,但是目前已有一些軟體作者寫了一些GUI作為它的前端軟體。
Gnuplot是一個比較強大的繪圖軟體包,可以進行絕大多數的科技繪圖。它是由Colin Kelley 和 Thomas Williams於1986年開發的繪圖程式發展而來的,可以在多個平台下使用。Gnuplot既支援命令列互動模式,也支援指令碼。首頁在 http://www.gnuplot.info。它還是一些應用軟體的後台繪圖引擎,如下面就要介紹的Octave。
Windows的使用者可以到http://sourceforge.net/projects/gnuplot上下載它的zip包,在自己的電腦上解壓後便可以直接使用。或者下載Octave的Win32安裝版,裡面已經包含Gnuplot。
Gnuplot繪圖的輸出有很多種格式:png、gif、TeX、ps、pdf等等。可以滿足使用者不同的需要,預設輸出是X11,也就是螢幕。
Gnuplot有詳細的使用手冊,是/usr/share/doc/gnuplot目錄下的gnuplot.html。需要PDF電子書的可以到http://sourceforge.net/projects/gnuplot下載。
Gnuplot還製作了一個Gnuplot常用命令和用法的卡片。可以列印作為學習和使用的參考,共7頁。
在Gnuplot的安裝文檔目錄/usr/share/doc/gnuplot下有個demo目錄,下面有大量的例子可以參考。它在資料分析、資料擬和等方面功能強大。有興趣的可以學習一下這個軟體包。
二、Octave
Octave 是一個類似matlab和Scilab的數學軟體包,可以進行各種運算,編程。它還有豐富的C++介面可以讓使用者編程時調用。它繪圖使用gnuplot。首頁是:http://www.octave.org。
大部分的GNU/Linux發行版都包含有它,Windows使用者可以到http://sourceforge.net/projects/octave下載它的Windows版本。
Octave的使用也是基於字元終端模式的,當需要繪圖時,將會調用Gnuplot進行資料繪圖,並顯示出來。
Octave和Gnuplot一樣有詳細的使用手冊,安裝時會帶有HTML格式的文檔,需要PDF文檔的可以到Network Theory Ltd出版社下載PDF電子書。印刷書的定價大概$29.99。
和Gnuplot一樣,Octave的常用命令及用法也製作了一個卡片,在/usr/share/doc/octave-2.1.50/refcard目錄下,可以列印出來作為參考,共3頁。它的FAQ在/usr/share/doc/octave-2.1.50/faq目錄下。
學習時可以參考Matlab,Octave的文法和Matlab類似。
Octave是用C++編寫的,它內容豐富的庫也可以供使用者在編寫軟體時調用。Octave庫的詳細介紹在/usr/share/doc/octave-2.1.50/liboctave下,檔案是liboctave.dvi,需要PDF檔案的,可以運行:
dvipdfm liboctave.dvi
將dvi檔案轉換為PDF檔案。
Octave同時還支援Fortran等的調用,GSL綁定等。可以由使用者定製自己的函數、子程式等。
octave 和 MATLAB 相容性好,程式可以互用。