Octave是一个旨在提供与Matlab语法兼容的开放源代码科学计算及数值分析的工具,是Matlab商业软件的一个强有力的竞争产品。
在Ubuntu上安装Octave,两种方法:
1、从仓库中安装
$ sudo apt-add-repository ppa:octave/stable
$ sudo apt-get update
$ sudo apt-get install octave
2、从源码编译安装
去 ftp://ftp.gnu.org/gnu/octave/ 下载最新的octave源代码:
我下载的版本是4.0.2:
$ cd /tmp
$ wget ftp://ftp.gnu.org/gnu/octave/octave-4.0.2.tar.gz
解压:
$ tar xf octave-4.0.2.tar.gz
安装构建依赖:
$ sudo apt-get build-dep octave
我在执行上面命令时出现了如下错误:
E: You must put some 'source' URIs in your sources.list
解决方法是编辑 /etc/apt/sources.list 文件,去掉deb-src行之前的#号注释。
编辑安装octave:
$ cd octave-4.0.2/
$ ./configure
$ make
$ sudo make install
运行octave:
$ sudo octave
运行octave命令行版本:
$ sudo octave-cli
Octave和Matlab的主要区别:
1、费用方面
Octave是完全免费的(并且是开源的),而Matlab是商业软件,价格很昂贵(当然,这在当前国情下不是问题)。商业版的优势是有非常完善的服务,即使没有购买正版,也可以在MathWorks官方网站上获得很多非常有价值的资源。
2、占用空间
Octave比较小,安装程序只有几十兆;而Matlab非常庞大,最新版的安装程序大约8G,即使只安装最基本的系统,至少也要几百兆以上。Matlab之所以那么庞大,是因为有大量的面向各种应用领域的工具箱,Octave无法相比的。
3、语法方面
Octave最初便是模彷Matlab而设计,语法基本上与Matlab一致,严谨编写的代码应同时可在Matlab及Octave运行,但也有很多细节上差别。一些软件开发小组也使用两者兼容的语法,直接开发可以同时在Matlab和Octave使用的程序。
有个说法,Matlab程序95%多(不含特殊工具包)的应该可以直接在Octave上运行,因为Octave让人把较大差别报到Bugs上去并相应改进,但Octave中引入了一些其它语法符号,如字符串””,注释#(unix风格)等,所以如果完全按Octave写的程序在Matlab里是会出问题的。
4、绘图方面
Octave的画图后台是强大的Gnuplot,有人认为绝对不会弱于Matlab,而且输出格式要远多于Matlab,公式显示也要强大很多。但也有人说Octave绘图速度比Matlab慢。
5、用户界面
Matlab经过那么多年的发展,而且又是商业软件,这方面肯定更胜一筹。以前Octave没有调试程序的GUI,现在据说已经有了,但应该比不上Matlab。