GNU Octave 是一种高级语言,主要设计用来进行数值计算,它是 MathWorks 出品的 Matlab 商业软件的一个强有力的竞争产品。除了 gnuplot 所提供的简单命令集之外,Octave 还为进行数学编程提供了一种丰富的语言。我们甚至可以使用 C 或 C++ 语言编写自己的应用程序,然后与 Octave 进行交互。
Octave 最初是在 1992 年作为化学反应器设计教科书的一个辅助软件而编写的。其作者希望能够帮助学生解决反应器的设计问题,而不用调试 Fortran 程序。结果获得了一种非常有用的语言,并为解决数值问题提供了交互式环境。
Octave 可以以一种脚本化模式非交互地进行操作,或者通过 C 和 C++ 语言绑定进行操作。Octave 本身就有一种非常丰富的语言,该语言看起来与 C 语言非常类似,并有一个很大的数学库,包括信号和图像处理、音频处理以及控制理论所使用的一些特殊函数。
由于 Octave 使用了 gnuplot 作为其后端实现,因此使用 gnuplot 可以绘制的所有东西都可以使用 Octave 进行绘制。Octave 的确有一种更丰富的语言来进行计算,它有很多明显的优点,但是仍然有 gnuplot 的一些限制。
在rhel6上安装octave有点难度。下面的方法步骤亲测可用。
1) 使用epel的repo
2) yum安装必要的包
3) 解决Requires: libglpk.so.0()(64bit)问题
4) 安装octave
下面详细解释:
1) 使用epel的repo
编辑 /etc/yum.repos.d/epel6.repo (没有就新建一个)
[epel-6]
name = Extra Packages for Enterprise Linux 6
failovermethod = priority
# http://ftp.linux.ncsu.edu/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
baseurl = http://ftp.linux.ncsu.edu/pub/epel/6/x86_64
enabled = 1
gpgcheck = 0
gpgkey = http://ftp.linux.ncsu.edu/pub/epel/RPM-GPG-KEY-EPEL-6
然后执行:
# yum clean all
# rpm --rebuilddb
# yum update
2) yum安装必要的包
本着缺什么装什么的原则,下面这些包要一个个按次序安装:
# yum install -y
GraphicsMagick-1.3.23
GraphicsMagick-c++-1.3.23
blas-3.2.1
fftw-3.2.1
fltk-1.1.10
gd-2.0.35
gnuplot-4.2.6
hdf5-1.8.5.patch1
qhull-2003.1
qrupdate-1.1.2
suitesparse-3.4.0
texinfo-4.13a
xfig-3.2.5
下面的包会自动安装:
*gnuplot-common-4.2.6
*lcms2
*libXpm-3.5.10-2
*libtool-ltdl-2.2.6
*libwmf-lite-0.2.8.4-22
3) 解决Requires: libglpk.so.0()(64bit)问题
此时安装yum install octave,然并卵,报错:
Requires: libglpk.so.0()(64bit)
手动下载rpm包安装之:
# wget ftp://mirror.switch.ch/pool/4/mirror/scientificlinux/6.7/x86_64/os/Packages/glpk-4.40-1.1.el6.x86_64.rpm
# rpm-ivh glpk-4.40-1.1.el6.x86_64.rpm
4) 安装octave
# yum install octave
很神奇。安装好了。命令行输入: octave,显示:
# octave
GNU Octave, version 3.4.3
Copyright (C) 2011 John W. Eaton and others.
This is free software; see the source code for copying conditions.
There is ABSOLUTELY NO WARRANTY; not even for MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'.
Octave was configured for "x86_64-redhat-linux-gnu".
Additional information about Octave is available at http://www.octave.org.
Please contribute if you find this software useful.
For more information, visit http://www.octave.org/help-wanted.html
Read http://www.octave.org/bugs.html to learn how to submit bug reports.
For information about changes from previous versions, type `news'.
octave:1> 1+2
ans = 3
octave:2>
万事开头难,接下来用octave开始机器学习之旅吧! 当然python也可以。对于ML,你需要玩转下面3大语言:
5) 小试octave
octave:1> hold on
octave:2 > print -djpg image.jpg