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