Octave、Spyder、Freemat 和 Scilab 作为 MATLAB 替代品的比较

Octave、Spyder、Freemat 和 Scilab 作为 MATLAB 替代品的比较

我正在尝试寻找 MATLAB 的替代品,目前发现:

  • GNU Octave
  • 蜘蛛
  • 自由垫
  • 科学实验室

我正在尝试寻找 MATLAB 的最佳替代品。我特别关心性能和结果的完整性。

答案1

好吧,你可真是幸运,我使用过你提到的所有编程语言/软件。我对 FreeMat 和 Spyder 没什么经验,但用过一些。其他的我都用过。

GNU Octave远远胜过竞争对手。它的语法与MATLAB。据我所知,除了奇怪的工具箱之外,唯一的区别是,你可以试图用包替换这里GNU Octave 可以从命令行定义函数。

我不知道你是否知道qtocave。QtOctave 是 GNU Octave 编程语言的前端 (GUI)。QtOctave 还附带一个编辑器。

科学实验室也是 MATLAB 的合适替代品。虽然语法上有些不同,但只要你搜索一下随附的文档,你就能理解。

自由垫在我看来,它是语法严重依赖 MATLAB 的软件中最糟糕的一款。我的证据有三部分:首先,在软件中心,它是这四款软件中星级最低的。其次,它更新不频繁,软件中心的最新版本上次更新是在 2008 年。第三,根据我的第二个证据,它的功能有些滞后。不过,优点是它的语法与 MATLAB 高度兼容。

我用过蜘蛛,但恐怕只是短暂的。它看起来质量上乘。问题是它只有兼容性有限语法方面,MATLAB 是不错的选择。如果你想学好 Python 编程语言,就需要学习一些 Python 编程语言。

我也推荐贤者数学因为它包括 GNU Octave(如果您的系统上已经安装了它)、Scilab(如果您已经安装了它)、NumPy、[NumPy 和其余提到的除非另有说明都随 Sage 提供,因此无需安装]、Scipy、Matplotlib、maxima、Fortran 等等。SageMath 可通过访问网站下载http://www.sagemath.org/download-linux.html并根据您所在的位置选择合适的镜像,然后安装相关的 .tar.lzma 文件。之后将以下命令复制并粘贴到终端 ( ++ Ctrl)中:AltT

cd ~/Downloads
sudo mv sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma /home/username
cd ~
tar --lzma -xvf sage-linux-xbit-ubuntu_y-z-Linux.tar.lzma
cd ~/sage-linux-xbit-ubuntu_y-z-Linux
make
sudo ln -s /home/username/sage-linux-xbit-ubuntu_y-z-Linux/sage /usr/local/bin/sage

其中“x”指的是操作系统的位数;“y”指的是 sage 所针对的 Ubuntu 版本(例如 10.04_lts;12.04_lts(“y”中的 _lts 是必需的)等等);“z”指的是操作系统的体系结构。(i386、amd64 等等)

答案2

在您列出的所有工具中,Octave 的语法兼容性最好。事实上,除了一些昂贵的 Matlab 工具箱外,Octave 应该可以运行 98%(这是我编造的数字)的代码。我在工作时使用 Matlab,在家时使用 Octave。

如果你安装了 Qtoctave(Octave 的 IDE,sudo),Octave 将无法(本机)运行一些内置 GUI,如 inputdlg 等安装 qtoctave)您可以使用 xmlwidget 和包装器来获取该功能(如果您有兴趣,我可以发布代码)。

就性能而言,Octave 并不快(谷歌基准测试)。但是,您可以在 Linux 上运行所有现代版本的 Matlab(如果您有许可证),并且它们现在默认包含在安装磁盘中,并且与 Windows 相比,Linux 版 Matlab 的性能同样出色,甚至通常更好。

如果您想要性能并且不想使用免费软件,最好看看 scipy。但是语法不太兼容。您需要重写代码。Spyder 是一个使用 python 和 scipy 的 ide,scilab 是 octave 和 maxima 以及其他一些软件的混合体。不确定 freemat 的性能,但我认为它不如 Octave 那么发达。

祝你好运。

一些基准测试

速度

http://www.osc.edu/research/cse/projects/octave_python.pdf

http://www.wseas.us/e-library/conferences/2010/Corfu/COMPUTERS/COMPUTERS2-56.pdf

请记住,基准测试是主观的。有很多变量。唯一真正了解的方法是使用您的处理代码在您的设备上测试它们。

答案3

只是为了澄清一下:你为什么想要 Matlab 的替代品?prasadkumar013 的回答表明你不能在 Ubuntu 上使用 Matlab,但你可以(至少我在 Ubuntu 上运行它;))。页面上有一个社区文档https://help.ubuntu.com/community/MATLAB

如果您想要一个免费的替代方案,那就使用 Octave,大多数 Matlab 代码都可以直接在 Octave 中运行。不过,尝试在终端中工作,我认为 qtoctave GUI 不太方便用户使用。

答案4

http://pdl.perl.org/

PDL(“Perl 数据语言”)使标准 Perl 能够紧凑地存储和快速操作大型 N 维数据数组,而这些数据数组是科学计算的基础。

相关内容