Octave相关学习资源整理

斯坦福大学机器学习公开课第五课是“Octave Tutorial”,主要是机器学习公开课的编程作业需要用Octave完成,同样需要用Octave完成作业的还有PGM(概率图模型)课程。和第三课线性代数回顾相似,这里不打算写“Coursera公开课笔记: 斯坦福大学机器学习第五课“Octave 指南(Octave Tutorial)”,而是想换一种思路,将现有的不错的Octave学习资源进行一个整理。

Octave 是一个旨在提供与Matlab语法相容的开放源代码的科学计算与数值分析的工具,同时是GNU旗下的成员之一,官方网站见: GNU Octave , 官方文档比较详细, 见:GNU Octave Doc.

关于Octave的历史,以下是来自维基百科的部分解释:

该软体开始于1988年,其初衷是提供一些化学反应设计课程的辅助工具。

系统性开发则是由John W. Eaton在1992年接手才开始的。第一个alpha测试版是在1993年1月4日放出,1.0稳定版则是在1994年2月17日放出。最新的稳定版3.6.1在2012年2月22日放出。但仍有一些Linux发行版还在默认的软件仓库中使用3.2.4版(2010年1月28日放出)。

其名称与音乐上的八度没有直接关系。该软体乃是以一位早期开发群的成员,同时也以敏于处理数值逼近问题著称的前教授命名。

Octave的绘图功能是基于gnuplot的:

”Octave的绘图功能是利用gnuplot达成的,不像MATLAB 绘图是内建功能,在安装Octave时会一并安装其使用手册与gnuplot“

由于 Octave 使用了 gnuplot 作为其后端实现,因此使用 gnuplot 可以绘制的所有东西都可以使用 Octave 进行绘制。Octave 的确有一种更丰富的语言来进行计算,它有很多明显的优点,但是仍然有 gnuplot 的一些限制。“

关于Octave的学习资料:

除了Andrew Ng教授的视频外,最喜欢的就是Dr.P.J.G Long 所著的”Introduction to Octave“,不到60页,简洁而又不失重点,是我边学边用Octave的最佳助手;没想到今天在整理资料时,发现浙江大学的莫及同学在11年的1月已经贡献了一份中文翻译版 ,非常不错!

另外一个重要的资料就是Octave自带的帮助文件了,就行Linux下的man一样,对于Octave自带的函数,只需要"help function_name"就可以了,非常方便。例如:

octave:3> help mean
 

`mean' is a function from the file /usr/share/octave/3.2.4/m/statistics/base/mean.m

 -- Function File:  mean (X, DIM, OPT)
     If X is a vector, compute the mean of the elements of X

          mean (x) = SUM_i x(i) / N
     If X is a matrix, compute the mean for each column and return them
     in a row vector.

     With the optional argument OPT, the kind of mean computed can be
     selected.  The following options are recognized:

    `"a"'
          Compute the (ordinary) arithmetic mean.  This is the default.

    `"g"'
          Compute the geometric mean.

    `"h"'
          Compute the harmonic mean.
...

最后就是Octave的安装:

除了Gnu Octave官方网站提供的安装资料外,Coursera斯坦福机器学习公开课上有一个Octave Install的页面,提供了Windows,Mac以及Linux下的三种安装方式,这里建议大家最好在Linux下使用,安装非常方便:

On most modern Linux distributions, you should be able to install Octave using the package manager. For Ubuntu, the following commands should work for most:

     sudo apt-get update

     sudo apt-get install octave3.2 gnuplot

For Fedora Linux, you can use:

     sudo yum install octave


参考资料:

http://www.gnu.org/software/octave/

http://en.wikipedia.org/wiki/GNU_Octave

http://irw.ncut.edu.tw/peterju/octave.html

http://www.cyut.edu.tw/~ckhung/b/ma/linalg.php

http://wiki.ubuntu.org.cn/Octave

http://www-mdp.eng.cam.ac.uk/web/CD/engapps/octave/octavetut.pdf

http://coer.zju.edu.cn/liu/octave-tutorial-cn.pdf

原文地址:https://www.cnblogs.com/94julia/p/3106632.html