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 兼容性好,程序可以互用。