开源数学软件

在网上找的,合并到一起:



FreeMat.很不错的开源软件.高度兼容Matlab

Matlab越来越大了,虽然Toolbox变大是好事。。。-_-
而且不太想在有替代品的情况下使用d版,就找了一下。。。。
其实这里总结的蛮好的,呵呵

总体上传统的GNU Octave是Matlab兼容的,但是我装了一下觉得比较大,而且安装感觉不是很整洁舒服,SciLab据说不错但是没有试。。。
倒是发现日本人写了个很专业的文章比较Octave、FreeMat和SciLab。。。
http://www.itc.u-toyama.ac.jp/kouhou/2009/ITC2009_57-62.pdf

我用了一下FreeMat,一下子就喜欢上了,图标漂亮、界面干净、安装整洁、文档清晰
而且和Matlab高度兼容,完全是我期望中的软件 呵呵


http://freemat.sourceforge.net/



Matlab的开源/免费替代品(推荐R)

为什么不用Matlab?

  1. 太大
  2. 买不起
  3. 在某些领域有功能更强的替代品。

常用的开源/免费替代品有Scilab、Octave、R,安装包都只有几十M,大约是Matlab的1%,价格是Matlab的0%,功能比Matlab少很多,但一般的应用也够了,在某些领域甚至超过matlab。

  • Scilab:法国的开源软件,可以免费使用但好像不可以再发布。语法和matlab很相似,可以用自带的mfile2sci转换,转完的程序执行结果和Matlab略有差别。从VC++和Java里可以调用scilab,C#有人讨论,貌似有可能但相当麻烦;
  • Octave:遵循GPL协议,完全模仿Matlab,力图做到完全兼容Matlab语法,它的文档里写道“differences between the two are considered as bugs”,很多Matlab工具箱可以直接用于Octave。在Windows下依赖cygwin,虽然有做好的安装包,但是运行速度慢,不稳定;Linux版没试过。Java可以调用octave,.NET不行;
  • R:R是S-PLUS的开源实现,就像octave和matlab的关系,在统计领域用得较多。R有个简单的开发环境,在Windows下比Octave稳定、快速许多。它使用S语言,不兼容Matlab语法,可以参考这篇《R for MATLAB users》手动把Matlab程序改写为R程序。要注意的是,R中的向量似乎默认是列向量,与Matlab不同。
  • 从C#里可以通过COM组件调用R程序,方法参考《The R Statistical Language and C#.NET: Foundations》,还有这里有一些R的中文教程。从Java里也可以调用。
  • 用R做时间序列分析很方便,有些教材的示例是用R写的:《Time series》、《Time Series Analysis and Its Applications: With R Examples》 。

PS:感觉Java开放性确实强,和谁都能混编。


Mathematica、Maple、Matlab(3M) 几乎还是不可替代的,但如果你是个疯狂的开源拥踅,不妨尝试这里介绍的三款开源数学软件:在计算机代数系统堪与 Maple 相比的 Maxima,在矩阵运算方面与 Matlab 极为相似的 Scilab,以及在统计数学表现出色的 R。使用这些软件还有一个好处是他们的文件格式是开放的,除去了原来在 3M 之间转换的麻烦。


你可能感兴趣的:(java,windows,C#,matlab,文档,Mathematica)