开源免费的 MATLAB 替代软件

最近状况更严峻了一点, 正版 MATLAB 在一些地方也被限制使用了, 有些大家都懂得办法就不说了, 这里简单说一下几款替代软件. 自打拥抱了 Ubuntu, 就尽量使用开源免费软件, 所以推荐的这几个都是. 当然了, 全部功能没有太深入了解, 但是很遗憾, 暂时都还没有 Simulink 功能.

两个功能非常类似于 MATLAB 的就是 GNU Octave 和 Scilab.

GNU Octave是一种采用高级编程语言的主要用于数值分析的软件。Octave有助于以数值方式解决线性和非线性问题,并使用与MATLAB兼容的语言进行其他数值实验。它也可以作为面向批处理的语言使用。因为它是GNU计划的一部分,所以它是GNU通用公共许可证条款下的自由软件。

https://zh.wikipedia.org/zh-cn/GNU_Octave

Scilab是由法国国立计算机及自动化研究院(l’Institut national de recherche en informatique et en automatique,简称INRIA)和法国国立桥梁学院(l’École nationale des ponts et chaussées,简称ENPC)开发的开放源码的科学计算自由软件。Scilab一词来源于英文“Scientific Laboratory”(科学实验室)词头的合并。
目前全世界使用Scilab的人数估计有1000,000人。Scilab也是以矩阵作为主要的数据类型,同时拥有丰富的绘图功能。Scilab能处理包括信号处理、统计分析、图像增强、数值最优化、动力系统仿真等方面的问题。网络上也有不少人为它写了许多延伸库、丰富了它的功能。
为推广普及Scilab,自2002年起,INRIA跟中国科学院自动化研究所每年组织一次Scilab竞赛。

https://zh.wikipedia.org/wiki/Scilab

还看到一个 FreeMat, 不甚了解, 感兴趣的自行了解.

此外还有一个比较新的语言 —— Julia, 据说目标是像 C 一样快, 像 MATLAB 一样的矩阵运算能力, 像 Python 一样通用.

Julia是一种高级通用动态编程语言,它最初是为了满足高性能数值分析和计算科学的需要而设计的,不需要解释器,速度快,也可用于客户端和服务器的Web用途、低级系统编程或用作规约语言。
Julia设计的独特之处包括,参数多态的类型系统,完全动态语言中的类型,以及它多分派的核心编程范型。它允许并发、并行和分布式计算,并直接调用C和Fortran库而不使用粘合代码。
Julia拥有垃圾回收机制,使用及早求值,包含了用于浮点计算、线性代数、随机数生成和正则表达式匹配的高效库。有许多库可以使用,其中一些(如用于快速傅里叶变换的库)已经预先捆绑在Julia里。

https://zh.wikipedia.org/wiki/Julia_(%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80)

如果想在 Ubuntu 中安装这三款软件, 直接使用 apt 即可:

sudo apt install octave
sudo apt install scilab
sudo apt install julia

当然还有不少收费软件, 这里就不介绍了.