快捷索引

IPB Image
软件类型:行业软件
操作系统:veket
应用平台:veket全系列
网络连接:www.gnu.org/software

OCTAVE 软件
  Octave是GNU项目下的一个软件,它与著名的矩阵计算软件matlab具有相似的语言风格。Octave 也是一种矩阵计算软件,它最初是一个用于本科生化工反应器设计的教学课件,但是现在已经是一个很完整的可以用于解决很多复杂问题的成熟的计算软件了。

Octave 是一个类似matlab和Scilab的数学软件包,可以进行各种运算,编程。它还有丰富的C++接口可以让用户编程时调用。它绘图使用gnuplot。

Octave的使用也是基于字符终端模式的,当需要绘图时,将会调用Gnuplot进行数据绘图,并显示出来。

Octave是用C++编写的,它内容丰富的库也可以供用户在编写软件时调用。

Octave同时还支持Fortran等的调用,GSL绑定等。可以由用户定制自己的函数、子程序等。

以下内容是从百度百科转载的:

引用

Octave——linux下的科学计算环境

描述:Octave

1.1简介 ­

==================================================================== ­

GNU Octave是一款与matlab十分兼容的数值计算软件。它为GNU项目里的一部分,并遵循GPL发布的一款自由开源软件。GNU Octave最早于发布于1988年。一开始它主要应用于一个化学反应课程设计之中。直到1992年该项目才真正的由John W.Eaton开展。目前其最新版本为2009年3月发布的3.0.5版。 ­

GNU Octave与matlab一样,为解释性编程语言。GNU Octave运用STL库并由C++编写而成,并可以通过加载模块来扩展其功能。GNU Octave通过调用gnuplot来制作图形、曲线和图表. Octave语言为如同C语言一样的结构化编程语言。它支持许多的C标准库函数、UNIX系统调用函数等。Octave的语法与matlab很相似,优秀的脚本可以在两个环境下面运行。由于Octave遵循GPL规范,人们可以自由的复制和使用该软件并能够根据自己的需要修改相关的源代码或添加自己的一些工具模块。该软件目前能够广泛地运用于各种平台:UNIX以及类UNIX平台(如GNU/Linux)以及微软windows环境等。 ­

目前,GNU Octave能够完成matlab所支持的大多数功能,如高等数学计算、统计、信号处理、图形处理、最优化、音频处理、非线性方程组求解、控制理论等。而相关的代码可以通过任何一款文本编辑器编辑,比较常用的是vim和emacs等。因而,GNU Octave是linux下数值计算的理想工具。有一定matlab基础的用户可以很快的熟悉该科学计算环境。 ­

1.2 个人体会 ­

================================================================== ­

­我这次的毕业设计是一个物理问题的计算机仿真,老师在任务书上写的是用matlab来编程实现。由于我是一个linux fan, 所以我一直尝试在linux下面来完成我的工作,因此对几个数值计算软件都有所涉及。我折腾了一段时间,有一些使用Octave的体会写给大家分享一下。 ­­

1.2.1为什么是Octave? ­

我们知道在linux下面的编程方面的语言是很多的,比如C、java、C++还有比较强大的脚本语言 Shell、Perl、Tcl、Python、Emacs Lisp 等等。但用它们做为科学计算的环境对于我们这种非计算机专业的人来说都过于复杂了(至少对我如此)。就拿C来说吧,C语言的最佳之处是资源效率和接近机器语言,与硬件的距离较近。但C同时有一些缺点,如编程要花大量的时间来进行数据结构和内存的管理,复数、矩阵运算的支持需要自己去找一些可用的库 (gsl:GNU sciencific library不错)。 ­

其实说起来,我还是喜欢像matlab这样的软件,编程设计比较的简单明了,虽然它的代码效率要低很多,但对于我现在的计算量和机器配置来说,这些时间要远远小于我们去调试C这样程序的时间。 ­

Linux下面与matlab这样的软件有: ­­

1.matlab ­

2.scilab ­

3.Octave ­

matlab就不说了,它的强大是大家所熟知,有了它几乎可以上天入地了。matlab有linux的版本(其实是matlab这样的软件都是先有 Unix或者linux下的版本,然后在移植到windows平台的,这点我没有真正的考证过,不过matlab下面居然支持ls 、pwd这样的linux&Unix命令)。但是我觉得matlab的Unix或者Linux版本的获取过于麻烦,文件过大,所以我没有选择它。 ­

Scilab是由主要有法国人做的一款开源软件,它与Octav一样,能够完成matlib的大部分功能。但是 ­

我在用Scilab的时候,发现了一个让我很郁闷并没有解决的问题——路径的设置问题。这个问题我没有解决掉,也让我不得不放弃了它。 ­

Octave能够很好的克服上述软件的一些缺点,所以我选择了Octave 。它是GNU项目里的一部分,因此它的全称应该是GNU Octave。这也保证了它的质量。 ­

1.2.2使用Octave的一些具体体会 ­

1.Octave的启动

只需要在终端(一般为bash)下输入 Octave即可启动程序。 ­

2.Octave中获得帮助

可以通过在 Octave的终端下输入 doc +函数名来实现。其中单独的使用 doc将会给你呈现所有的帮助话题。 ­

3. Octave中的函数名称与matlab完全一致

因此你完全可以无缝的移植到Octave中来。比如: ­

octave:1> x=1:1:10 ­

x = ­

1 2 3 4 5 6 7 8 9 10 ­

octave:2>y=sin(x); ­

octave:3>figure; ­

octave:4>plot(x,y,’*’); ­

­等等。 ­

3. Octave 的同样的支持脚本和函数文件

他们的功能与matlab的m文件一样的,后缀也是.m。 ­

4. 与matlab一致,Octave同样需要注意Path的设置。

所谓PATH是指程序搜索你在终端中输入的函数名称的一些路径。我个人建议自己的一个项目都新定义一个文件夹来放自定义的函数。 ­

这里我以自己的毕设为例: ­

我为我的毕设专门新建了一个文件夹: ­

/home/kasion/mywork/octave/soamodel ­

那么在启动Octave之后,我用了以下的命令来添加该路径 ­

addpath("/home/kasion/mywork/octave/soamodel"); ­

savepath;

就可以了。然后我在那个文件夹里放上了自己的函数,都是.m文件。 ­

5.Octave的函数文件与matlab函数文件有以下的不同点: ­

a. matlab下用%来表示注释,而在Octve下则是用的#号。 ­

b.matlab 下面的函数文件 一般是这样的 ­

function Output=Functionname(Input) ­

……. ­

­

而对于Octave,它要多一个endfunction,具体将: ­

function Output=Functionname(Input) ­

……. ­

endfunction ­

­

c. matlab下面的 条件语句等是这样的 ­

if (x>1) ­

x=x+1; ­

end ­

而对于Octave,它有一点点差异 ­

if (x>1) ­

x=x+1; ­

endif ­

同样的有endfor, endwhile等。虽然Octave的文档说明了用end也可以,但是用endif更不容易出错。 ­

[安装测试] ★已经过安装测试,测试系统为lucky8k-veket-3.1。

杀毒提示:
已通过安全检测.
安全检测软件:avast antivirus1.30
IPB Image
IPB Image
IPB Image
IPB Image
IPB Image

 



会员福利

资源无源时,可利用百度网盘 & 迅雷云盘取回

此内容仅供注册用户。请 %登录%.

神秘内容,请 登录 / 注册 后查看

会员可见全站福利 !


标签: ,


文章类别:

本文链接: https://www.books51.com/304445.html

【点击下方链接,复制 & 分享文章网址】

科学矩阵计算软件 → https://www.books51.com/304445.html

上一篇:

下一篇:

0 ratings, 0 votes0 ratings, 0 votes (0 次顶, 0已投票)
你必须注册后才能投票!
Loading...

添加新评论