Octave环境的安装

Octave环境的安装

 

  Octave是一种解释类的编程语言,并且是GNU项目下的开源软件,与之相对是大家都非常熟悉的matlab,Octave和matlab语法基本上一致,都是用来快速做一些强大的矩阵运算来使用的,最大的不同是Octave是完全免费的,并且是开源的,这意味着任何人都可以直接去使用甚至修改源代码,但是matlab是商业软件,并且价格非常昂贵,高校和研究机构用的会多一些,并且付费的会有完善的技术支持,在国内通常可以非常方便的获取破解版本,但是Octave既免费又轻量,而且随着4.0之后界面和绘图功能都变得不断强大,这应该比安装笨重的matlab要让人愉快很多,并且绝大数情况下Octave已经具备了你需要的所有功能

  另外Octave正是因为矩阵运算的优势,可以把很多复杂的需要迭代的计算转化为矩阵或者向量来计算,这种转化往往可以将几十行代码精简为几行代码就能完成,并且内置的数值分析库的性能也比一般自己写要高,一般在数据分析,机器学习中可以先使用Octave快速做好模型,然后投入生产可以使用Python,Java或者C/C++来实现,并且各种语言都有对应的矩阵运算库,这个也不用自己去编写代码,所以使用Octave可以专注与模型与数据分析本身,而不用考虑过多关于计算的东西,所以这样效率才非常好,说了那么多下面是具体的下载以及安装过程:

  Octave的官网地址是:https://www.gnu.org/software/octave/ 进入之后点击首页的Download按钮可以快速看到下载的来源,对于Linux特定的发行版可以直接使用系统的包管理来安装,一步到位;也可以下载源码包编译安装,和安装一般软件通用,对于windows可以直接下载安装包来安装,

  windows安装包下载地址是:https://ftp.gnu.org/gnu/octave/windows/

  Linux源码包下载地址是:https://ftp.gnu.org/gnu/octave/

  注意:对于版本来说目前最新的是4.2.1,建议安装4.0.1往上的版本,但是一定不要安装4.0.0版本,因为这个版本存在比较严重的bug,而这个bug在4.0.1中得到修复

  对于windows下安装没什么好说的,下载安装包运行然后点点下一步就可以安装好了,安装之后桌面会出现两个快捷方式链接,一个是CLI启动之后是命令行形式,一个是GUI就是用户界面形式,不仅可以执行命令还可以作为代码编辑器使用,Octave的源代码是.m的格式;命令行比较快速稳定并且也可以直接绘图,所以通常我们都使用命令行

  对于Linux安装就是使用一般的编译步骤来安装即可,注意如果是纯命令行的Linux那么绘图命令和GUI都是不能使用的,不依赖图形界面都是无法启动的,但是仍然可以在命令行中使用大部分功能,这里下载的是最新的4.2.1的源码包,下面开始安装:

  释放安装包并进入源码目录: tar -xvzf octave-4.2.1.tar.gz && cd octave-4.2.1/ 

  执行 ./configure --help 可以查看所有的编译参数说明,这里直接全部默认安装到指定目录: ./configure --prefix=/usr/octave 

  如果此时报缺少一些依赖包的error可以安装下面一些包:

yum -y install lapack64 lapack64-devel
yum -y install readline-devel

  安装之后,再执行: ./configure --prefix=/usr/octave 一般就正常了

  然后进行编译: make -j4 

  编译过程很长,一般在半个小时到一个小时左右,耐心等待,编译完成后有一堆警告,大致意思是说缺少图形组件依赖,将无法使用绘图功能等,就是说界面不能用,因为我们系统是命令行,所以直接忽略即可,

  执行安装: make install 

  安装之后这个解压的包连同源代码一块大约有3G左右,这个用不到了可以删除,然后进入/usr/octave安装目录,安装目录大约500M左右,安装目录下面的bin就是octave可执行文件的路径了,可以直接用来运行源文件也可以进入命令行执行指令

  此时执行: ./bin/octave-cli 就可以进入Octave命令行了,如下:

  

  另外如果细心会发现,执行 ./bin/octave 也可以进入命令行并且和上面一样,其实这是一个GUI启动程序,如果在有图形界面的系统上执行会启动GUI界面,但是当前是纯命令行的系统,所以执行的时候先打印了错误,然后就进入命令行界面了,所以用着和上面的octave-cli一样

  以上就是Octave的简单介绍和安装

原文地址:https://www.cnblogs.com/judejie/p/9003802.html