本文是基于Homebrew在Mac上搭建Octave开发环境的简易教程,详细讲述了Octave在Mac上的安装、启动及相关配置,并给出了相关示例代码。最后附上了Matlab开发环境搭建教程。
Octave简介
Octave是一个旨在提供与Matlab语法兼容的开放源代码科学计算及数值分析的工具;它提供了方便的互动命令列接口来解决线性与非线性的数值运算问题,并可将计算结果可视化,与高价的商业软体MATLAB语法几乎兼容。另外,Matlab在Mac上的开发环境搭建教程可见附录。
Octave很适合作为机器学习的原始语言。使用Octave这种很好的原始语言(prototyping language) 可快速地实现自己的学习算法,之后只需进行大规模的资源配置,用 C++或 Java 这些语言把算法重新实现就行了。
使用Homebrew安装Octave
Homebrew安装
Homebrew是一个包管理器,用于在Mac上安装一些OS X没有的UNIX工具(比如著名的wget)。它会将软件包安装到独立目录,并将其文件软链接至 /usr/local 。完全基于git 和 ruby,所以自由修改的同时你仍可以轻松撤销你的变更或与上游更新合并。
首先确认Mac已安装Xcode、Command Line Tool。安装Command Line Tool:
xcode-select --install
然后把下面的代码粘贴到Terminal中执行安装Homebrew。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Homebrew常用命令:
brew search/install/upgrade/info/deps/remove python3
brew list/outdated/update/
Homebrew官方教程 http://brew.sh/。
Octave安装
输入以下命令安装Octave:
brew tap homebrew/science
brew update && brew upgrade
brew install octave
安装完成可看到提示该GUI展示所基于框架的设置,默认为QT框架。
setenv('GNUTERM','qt') # Requires QT; install gnuplot --with-qt
setenv('GNUTERM','x11') # Requires XQuartz; install gnuplot --with-x11
setenv('GNUTERM','wxt') # Requires wxmac; install gnuplot --with-wxmac
setenv('GNUTERM','aqua') # Requires AquaTerm; install gnuplot --with-aquaterm
Octave无界面启动及配置
输入以下命令进行Octave无界面启动:
octave --no-gui
默认使用plot命令就会出现warning,使用如下配置可解决当前octave的问题。
octave:1> graphics_toolkit
ans = qt
octave:2> x=linspace(-10,10);
octave:3> plot(x,sin(x));
warning: opengl_renderer: Error 1286 occurred in init_gl_context
warning: called from
plot at line 223 column 10
octave:4> graphics_toolkit('gnuplot')
octave:5> plot(x,sin(x));
若要完全解决以上的plot命令warning问题,可在配置文件
/usr/local/share/octave/site/m/startup/octaverc 中添加以下代码:
graphics_toolkit('gnuplot')
Octave界面式启动及示例
输入以下命令进行Octave界面式启动:
octave
启动后可进入以下可视化界面:
示例如下:
>> a = magic(2)
a =
4 3
1 2
>> a(1,:) = 0
a =
0 0
1 2
>> x=linspace(-10,10);
>> plot(x,sin(x));