matlab哪个版本最好用,选择适合你的matlab版本,让编程更高效更方便

哈工大与哈工程所遭遇的 MATLAB 软件限制,究竟是一款怎样的软件?

简而言之,它属于工业软件领域。

在近几十年的时间里,计算机与软件的广泛应用,对我们的生活产生了深远影响,然而对于理工科学生而言,MATLAB 软件的关键性,无论如何强调都不过分。

MATLAB,从其名称的字面意义来看,是 MATrix LABoratory(矩阵实验室)的缩写,由美国 The MathWorks 公司开发的一款商业数学软件,在算法开发、数据可视化、数据分析以及数值计算的科研应用环境中具有广泛的应用。

大约在1980年,美国新墨西哥大学教授克里夫·莫勒尔,为了让学生们能够“便捷地使用”LINPACK 和 EISPACK,无需繁琐地执行远程批处理和“编辑-链接-加载和执行”的过程,出于对教育事业的极大热情,他毅然决定用 FORTRAN 语言编写了第一版 MATLAB。尽管这版软件只能进行基础的矩阵运算,如矩阵转置、计算行列式和本征值,但对于大学生来说已经足够。

毕竟,莫勒尔教授为了提升教学质量,不惜亲自开发软件,学生们还能提出什么异议呢?

无论如何,第一版 MATLAB 因为其实用性、易用性和高效性,受到了学术同行和大学生们的热烈欢迎,下载量达到了两三百次,莫勒尔教授的内心激动不已,决定创办企业。

然而,有两个对 MATLAB 热衷的粉丝,即杰克·李特(学生)和斯蒂夫·班格尔(朋友),认真地告诉莫勒尔教授,“你编写的软件所使用的 FORTRAN 语言已经过时了,尽管在数值计算方面很有用,但 C 语言更具通用性。”

莫勒尔教授思考后认为,确实如此,但他表示自己太忙了。

杰克·李特和斯蒂夫·班格尔立刻回应,“我们来完成这个任务!”

没想到,他们用了一年半的时间,用 C 语言重新编写了 MATLAB 软件,并增加了新功能和系统控制工具箱,其中一些代码甚至至今仍在使用。

为了能够参股董事会,这样的决心是无人能比的。

1984年,“三位一体”的杰克·李特、克里夫·莫勒尔和斯蒂夫·班格尔特,共同创立了 MathWorks 公司,将备受赞誉的 MATLAB 推向市场。

“从创业的第一天起,你每天要面对的是挑战和失败,而不是成功。”这句话说得非常准确,不仅适用于中国大学生,也适用于美国教授。因为当 C 语言重写的 MATLAB 1.0 版本在拉斯维加斯举行的“IEEE 决策与控制会议”上正式推出后,第一份订单只卖出了10份拷贝。

然而,他们用心血培育的软件,最终收获了更多的惊喜:根据 MathWorks 公司自己的数据,截至 2010 年 4 月,全球有 180 多个国家超过 300 万工程师和科学家正在使用 MATLAB 和 Simulink。鉴于 C 语言版 MATLAB 软件受到了广泛好评,MathWorks 公司于 1992 年推出了价格更低的学生版,于 1993 年推出了 Windows 版 PC-MATLAB,并于 1995 年推出了 Linux 版 Pro-MATLAB,基本上完成了 MATLAB 软件的“系列化”发展。

从课堂教学工具到商业化软件,MATLAB 软件所承担的责任越来越重。

如今的 MATLAB 虽然增加了许多功能,如编程语言的面向对象支持,toolbox 的扩展增加,以及图形界面的丰富功能,但其核心仍然是矩阵计算,因此大家很容易看到,矩阵计算是 MATLAB 最基本的数据类型。

矩阵,听起来就很高科技,实际上也确实如此。

无论是应用广泛的 CAE 仿真,还是如火如荼的人工智能,都是建立在矩阵计算的基础上的。可以说,矩阵计算是数字化工业的核心,那么在这个时代,MATLAB 究竟能发挥什么作用呢?

首先,MATLAB 是一种面向科学与工程计算的高级语言,允许以数学形式的语言编写程序,比 BASIC、FORTRAN 和 C 语言更加接近于我们书写数学计算公式的思维方式。甚至可以说,用 MATLAB 编写程序,就像是在草稿纸上排列公式和求解问题,因此对于理科生和科研人员来说,MATLAB 编写简单,编程效率高,而且非常容易理解。

其次,MATLAB 是对代码、文件和数据进行管理的开发环境;是按迭代的方式探查、设计及求解问题的交互式工具;可用于包括线性代数、统计、傅里叶分析、筛选、优化以及数值积分等的数学函数;用于可视化数据的二维和三维图形函数;用于构建自定义的图形用户界面的各种工具,还可用于基于 MATLAB 的算法与外部应用程序和语言集成的各种函数。

当然,MATLAB 再强大也不是万能的,世界上总有一些事情它无法做到:

比如大规模并行矩阵计算、工业级软件产品开发,ARM 与边缘计算设备。

这主要是因为 MATLAB 的不足之处在于大规模并行计算,而且工业级软件产品的研发中,我们基本看不到 MATLAB 的身影,反而是开源语言 Python 后来居上,占据了工业级矩阵计算的一半江山;此外,MATLAB 的通用性并不好,比如无法在 ARM 处理器上运行,而且体量巨大,无法部署在大量使用 ARM 的移动产品和边缘、工控以及国产设备上。

随着 5G 时代和工业互联网的普及,作为 80 后,MATLAB 在中国市场面临着巨大的挑战,步履维艰,早已力不从心。

提出这个问题确实令人深思,毕竟哈工大和哈工程的教授和学生,现在仍然感到有些困扰。

但客观地说,Octave 就是 MATLAB 的直接替代品,或者可以说是“仿制品”。

这是两款几乎完全相同,只有细微差异的软件产品,相似率高达95%以上,在商业授权上类似于 Windows 和 Linux,即 MATLAB 是付费的,而 Octave 是开源的。

GNU Octave 是一种采用高级编程语言,主要用于数值分析的软件,有助于科研人员以数值方式解决线性和非线性问题,并使用与 MATLAB 兼容的语言进行数值实验,还可以作为面向批处理的语言使用。

令人振奋的是, Octave 是 GNU 计划的一部分,是“GNU通用公共许可证”条款下的“自由软件”。

之所以说,Octave 是 MATLAB 的主要替代软件,是因为:

Octave 和 MATLAB 的软件操作界面相似;

Octave 和 MATLAB 的语法绘图功能相似;

大量开源代码同时支持 Octave 和 MATLAB。

而且,Octave 可以直接运行大部分的 MATLAB 源程序;而 MATLAB 程序除非涉及到比较特殊的工具箱,基本上只需要简单修改即可在 Octave 中运行。

“既生瑜,何生亮。”

在世界工业软件市场,MATLAB 和 Octave 就像是当年的 Windows 和 Linux:

禁止使用付费软件?那就用开源软件吧!

开源软件不好用?那就定制维护一下接着用!

不香吗?