linux下常用计算软件——matlab替代品

时间:2024-02-21 11:09:06

本文非原创,来自网络,出处不明。

Scilab
SCILAB 是由法国国家信息、自动化研究院(INRIA)的科学家们开发的“开放源码”软件。SCILAB 一词来源于英文“Scientific Laboratory"(科学实验室)词头的合并。与MATLAB 类似,SCILAB也是一种科学工程计算软件,其数据类型丰富,可以很方便地实现各种矩阵运算与图形显示,能应用于科学计算、数学建模、信号处理、决策优 化、线性/非线性控制等各个方面。它还提供可以满足不同工程与科学需要的工具箱,例如SCICOS,信号处理工具箱,图与网络工具箱等。可以说,就基本的 功能如科学计算、矩阵处理及图形显示而言,MATLAB 能完成的工作SCILAB都可以实现。

由于SCILAB的语法与MATLAB非常接近,熟悉MATLAB编程的人很快就会掌握SCILAB的使用。有意思的是,SCILAB提供的语言转 换函数 可以自动将用MATLAB语言编写的程序翻译为SCILAB语言。目前,SCILAB除了WINDOWS与NT版本外,还有多种UNIX或LINUX下的 版本,如SGI MIPS Irix, PC Linux, Sun Sparc stations(Sun Solaris) 等。

作为开放源码的软件,SCILAB的源代码、用户手册及二进制的可执行文件都是免费的,公布于INRIA的网站上(中法实验室已建立其镜像网站), 可以直 接下载,在我们的网站也可以下载。用户不仅可以在SCILAB的许可证条件下*使用该软件,还可以根据自己需要修改源代码,使之更加符合自身需要。对这 一优秀的*软件,国外已有很多人加以关注、讨论和赞赏。在国内,2001年1月SCILAB首次放在旨在推广开放源码软件的“共创联盟网站”上,短短不 到一个月内,下载次数已达300多次。著名的Springer出版社于1999年6月出版了一本关于SCILAB的书:《Engineering and Scientific Computing With Scilab》,介绍了SCILAB的编程语言、函数、各种工具箱及其在控制、优化、图形、信号处理中的应用实例。

scilab下载地址:http://www.scilab.org/products/scilab/download

Octave介绍

GNU Octave是*软件基金会(Free Software Foundation)支持的遵循GPL协议(GNU General Public License)的一个*再发布的软件,作者是以John W. Eaton为首的一些志愿者。它提供了一个环境,该环境支持叫做GNU Octave的高级语言,这种语言与Matlab兼容,主要用于数值计算。它提供了一个方便的命令行方式,可以数值求解线性和非线性问题,以及做一些数值 模拟。 

Octave也提供了一些工具包,可以解决一般的线性代数问题,非线性方程求根,常规函数积分,处理多项式,处理常微分方程和微分代数方程。它也很容易的使用Octave自带的接口方式扩展和定制功能。与Scilab相比:

  1. 首先它们的共同点是开放源代码软件
  2. Octave的比起Scilab,对Matlab的语法兼容性更好,几乎没有差别。比如,Octave也使用M文件的形式来扩展功能和定义函数。因此熟悉Matlab的用户更容易接受Octave环境。
  3. Octave的功能比起Scilab要简单一些,这使得Octave对一些用户来说意义不如Scilab大。
  4. 很不幸的是Octave目前没有图形界面,我们只能在行命令的方式进行交互。

但是Octave还是有自己的特点: 

(1) 它是一个GPL软件。关于GPL的意义,这里不介绍,我们要指出的一点是,它允许用户在遵循GPL协议的前提下,自己发行这个软件,可以单独,也可以包含在用户的产品里面发行。而Scilab是不允许的,用户只能免费使用Scilab。 

(2) 它可编程的性能更好, Octave语言功能更为强大,几乎提供所有系统函数的支持,Octave在语法上也更接近C的语法,比如提供和这--样的预算符。这样,我们可以在 Octave环境里面增加一些更为强大和易用的扩展。不象在Matlab和Scilab环境中限制比较多,有时无法充分的利用系统资源。 

(3) 它的计算库都是用C写,而Scilab则基本是Fortran的编写的。这也是一份有用的资源。 

GNU Octave网站:http://www.octave.org/ 
邮件列表:octave-dev@lists.sourceforge.net,maintainers@octave.org 
R Project

R是属于GNU系统的一个*、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。

R是S语言的一种实现。S语言是由AT&T贝尔实验室开发的一种用来进行数据探索、统计分析、作图的解释型语言。最初S语言的实现 版本主要是 S-PLUS。S-PLUS是一个商业软件,它基于S语言,并由MathSoft公司的统计科学部进一步完善。后来Auckland大学的 Robert Gentleman 和 Ross Ihaka 及其他志愿人员开发了一个R系统。R的使用与S-PLUS有很多类似之处,两个软件有一定的兼容性。S-PLUS的使用手册,只要经过不多的修改就能成为 R的使用手册。所以有人说:R,是S-PLUS的一个“克隆”。但是请不要忘了:R is free。

R是一套完整的数据处理、计算和制图软件系统。其功能包括:数据存储和处理系统;数组运算工具(其向量、矩阵运算方面功能尤其强大);完整连贯的统计分析工具;优秀的统计制图功能;简便而强大的编程语言:可操纵数据的输入和输入,可实现分支、循环,用户可自定义功能。

与其说R是一种统计软件,还不如说R是一种数学计算的环境,因为R并不是仅仅提供若干统计程序、使用者只需指定数据库和若干参数便可进行一 个统计分析。R的思想是:它可以提供一些集成的统计工具,但更大量的是它提供各种数学计算、统计计算的函数,从而使使用者能灵活机动的进行数据分析,甚至 创造出符合需要的新的统计计算方法。

R是一个免费的*软件,它有UNIX、LINUX、MacOS和WINDOWS版本,都是可以免费下载和使用的。R的主要网站是http://www.r-project.org 。在那儿可以下载到R的安装程序、各种外挂程序和文档。在R的安装程序中只包含了8个基础模块,其他外在模块可以通过CRAN获得(http://cran.r-project.org )。

  • R网站:http://www.r-project.org/
  • R软件手册:http://cran.r-project.org/manuals.html
  • CRAN 中国镜像站(东南大学):http://www.lmbe.seu.edu.cn/CRAN
  • 北京大学李东风老师主页:http://cn.math.pku.edu.cn/teachers/lidf/index.html
  • 华东师大汤银才老师主页:http://webpc.shtu.edu.cn:8080/yctang/index.htm
  • 中国统计网(即将转让,想下资料动作要快):http://www.8sta.com
  • sociology’s Blog(简体中文,名字可能不对):http://sociology.yculblog.com/
  • R文档:http://www.biosino.org/R/R-doc/ 丁国徽翻译。已经翻译为中文的文档有:R导论,R for beginners,R 语言定义(草稿)


Gnuplot
对于在Linux下工作的人,如果你经常要画一些二维图和简单的三维图的话,那么,gnuplot无疑是一个非常好的选择,不仅图形漂亮,而且操作简单。当然如果需要质量更高的三维图,请用其他的一些专业绘图软件。建议大家学会使用gnuplot。最新版本可以到http://www.gnuplot.info下载。 

GNUPLOT 是在 1986 年由 Colin kelley 和 Thomas Williams 所发展的绘图 公用程式,可将数学函数或数值资料以平面或立体的图形画在不同种类终端机 或绘图输出装置上。目前已广泛地被人们使用,在 Internet 网路上尚有 newsgroup --- comp.graphics.gnuplot 作为大家交换心得或学习的园地。此 newsgroup 将许多问题□集成 FAQ (Frequently Answered Questions) 并定期刊载。

GNUPLOT 是一个命令导向的交谈式绘图程式 (command-driven interactive function plotting program)。GNUPLOT 执行使用者输入的每一项命令, 可逐步设定或修改绘图环境。它以图形表达数据或函数,使我们藉由图形 做更进一步的分析。