后MATLAB时代的七种开源替代,一种堪称完美!

简介: 近日,有哈工大学生表示收到了正版软件取消激活的通知,而在与 MATLAB 开发公司 MathWorks 交涉之后,被告知由于美国政府实体名单的原因,相关授权已被中止。目前,哈尔滨工业大学、哈尔滨工程大学的老师和学生们都无法使用 MATLAB。

云栖号资讯:【点击查看更多行业资讯
在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来!

近日,有哈工大学生表示收到了正版软件取消激活的通知,而在与 MATLAB 开发公司 MathWorks 交涉之后,被告知由于美国政府实体名单的原因,相关授权已被中止。目前,哈尔滨工业大学、哈尔滨工程大学的老师和学生们都无法使用 MATLAB。

MATLAB大学读理工科专业的同学基本上都接触过这款软件。有分析人士指出,如果整个学校被禁用了正版 MATLAB,这意味着学校的人员再发表论文或者从事商业项目,其成果原则上就不应包含任何基于 MATLAB 的内容,这对国内相关企业和研究学者带来的影响不可忽视。
这件事在国内社交媒体迅速发酵并登上热搜,引发学术界和技术界的广泛讨论。

现在只是禁止了实体名单的上的几所高校,但是谁又能保证后续不会加码制裁打击中国高校,抑制中国科技发展呢?因此通过此次禁用事件,我们有理由说现在已经到了后MATLAB时代!急需找到MATLAB合适的替代品。

为此我们收集整理到的一些开源软件,可以起到一定的替代效果。包括:SCILAB、Octave、Spyder、Python、GMAT、GNU Radio、ROS。特别是SCILAB,他与MATLAB最为接近,近乎可以实现完美替代!

希望本文对大家有所帮助。另外,也欢迎大家在留言区推荐你知道的替代工具。

  1. “近乎完美”替代之SCILAB

SCILAB 是一款与 MATLAB 类似的开源软件,可以实现 MATLAB 上所有基本的功能,如科学计算、数学建模、信号处理、决策优化、线性、非线性控制等各个方面。

由于 SCILAB 的语法与 MATLAB 非常接近,熟悉 MATLAB 编程的人很快就会掌握 SCILAB 的使用。有意思的是,SCILAB 提供的语言转换函数可以自动将用 MATLAB 语言编写的程序翻译为 SCILAB 语言。目前,SCILAB 可在 Linux、WINDOWS 和 Mac OS 全 PC 平台运行。
作为开放源码的软件,SCILAB的源代码、用户手册及二进制的可执行文件都是免费的,公布于INRIA的网站上(中法实验室已建立其镜像网站),可以直接下载,在EETOP论坛SCILAB专区也可以下载http://bbs.eetop.cn/forum-114-1.html

更重要的是SCILAB 是由法国国家信息、自动化研究院的科学家们开发的“开放源码”软件,和美国没有关系!

此外最关键的是SCILAB也一个有类似 MATLAB simulink的工具Xcos!simulink能做的Xcos也可以完成,并且界面和使用也很类似!很多网友担心的simulink无法替代问题迎刃而解!

因此SCILAB 近乎可以完美替代MATLAB!(欢迎用过的朋友补充说明)

Xcos截图:

A4FEF9E0_27EF_4037_A9CC_D41EC02B2E4A

  1. 与MATLAB语法兼容Octave
    如果已经对MATLAB语言非常熟悉,暂时不想学习一门新的语言,那么可以尝试一下Octave。Octave是GNU项目成员之一,提供了与MATLAB语法兼容的开放源代码科学计算及数值分析的工具。

7DA08B57_5F70_4675_92C4_939933DDCC6F

Octave 是一个类似 MATLAB 和 Scilab 的数学软件包,可以进行各种运算,编程。它还有丰富的 C++ 接口可以让用户编程时调用。其配套的绘图工具采用 gnuplot 。Octave 的使用也是基于字符终端模式的,当需要绘图时,将会调用 gnuplot 进行数据绘图,并显示出来。
Octave 是用 C++ 编写的,它内容丰富的库也可以供用户在编写软件时调用。Octave 同时还支持 Fortran 等的调用,GSL 绑定等。可以由用户定制自己的函数、子程序等。

  1. 航天计算神器 GMAT

对于航天器轨道计算、任务分析等,可以尝试General Mission Analysis Tool (GMAT)。GMAT提供了图像化界面或脚本两种接口,相比于STK,GMAT的深空探测相关功能更加强大,可配置的资源也更多。

CA20CD72_1F1F_4cc5_AC57_77D10BCD1AF4

  1. 软件无线电、信号处理等应用 GNU Radio
    GNU Radio是一个对学习,构建和部署软件定义无线电系统的免费软件工具包,可通过Python或类似于Simulink/Labview的图形化界面调用。紫丁香、龙江等卫星的业余无线电接收解调软件就是在GNU Radio基础上开发并开源发布的。

1047550D_08CF_4558_8707_72AFC2D6A5CD

5 机器人相关 Robot Operating System (ROS)
ROS是一种针对于满足不同机器人软件协同工作的灵活软件框架。目的在于提高软件模块化能力和复用能力,并实现不同任务间的数据/信号量的有效共享,方便多种机器人平台之间创建复杂和鲁棒的机器人行为,同时它也是一种工具库的约定与集合。

6443334D_5F8B_432b_9046_E1F2C102BBDE

  1. Spyder
    Spyder不是一门编程语言,Spyder是Python(x,y)的作者为它开发的一个简单的集成开发环境。和其他的Python开发环境相比,它最大的优点就是模仿MATLAB的“工作空间”的功能,可以很方便地观察和修改数组的值。

Spyder的界面由许多窗格构成,用户可以根据自己的喜好调整它们的位置和大小。当多个窗格出现在一个区域时,将使用标签页的形式显示。例如在图1中,可以看到“Editor”、“Object inspector”、“Variable explorer”、“File explorer”、“Console”、“History log”以及两个显示图像的窗格。在View菜单中可以设置是否显示这些窗格。

5E7A3687_2752_490f_A32B_EA28D66B8197

Spyder 的界面与 MATLAB 非常类似,其作者早年也承认模仿了 MATLAB 的设计。如果对于 MATLAB 的仿真建模需求不高的话,Spyder 足以取而代之。

  1. Python
    Python是一门完全免费的通用编程语言,以开源的方式提供了大量各类用途的库与包,如Numpy(数值计算)、SciPy(数学、科学和工程计算)、Matplotlib(类似MATLAB中plot的绘图工具)等等。

0C0AD8CD_87B1_40b1_B215_56DDC410FA7B

Python是一门更易学更严谨的面向对象的程序设计语言。作为通用程序设计语言的Python,有更为严格清晰的语法,可以轻易完成界面、文件、封装等高阶需求,可移植性更好,也非常适合AI、网络等相关应用。
Python的拥有庞大的数学库,如果不是必须用到MATLAB simulink的化,用Python来取代MATLAB 应该是最佳方式了。我们经常可以看到这样一个公式:python+NumPy+Scipy+matplotlib = Matlab

【云栖号在线课堂】每天都有产品技术专家分享!
课程地址:https://yqh.aliyun.com/zhibo

立即加入社群,与专家面对面,及时了解课程最新动态!
【云栖号在线课堂 社群】https://c.tb.cn/F3.Z8gvnK

原文发布时间:2020-06-18
本文作者:人工智能学家
本文来自:“人工智能学家 微信公众号”,了解相关信息可以关注“人工智能学家

相关文章
|
4月前
MATLAB实战 | APP设计
生成一个用于观察视点仰角和坐标轴着色方式对三维图形显示效果影响的App,界面如图1所示。界面右上部的列表框用于选择绘图数据、切换按钮组用于选择绘图方法,中间的旋钮用于设置视点方位角和仰角,右下部的分档旋钮用于设置坐标轴着色方式、跷板开关用于显示网格线。
58 7
MATLAB实战 | APP设计
|
6月前
|
数据采集 数据可视化 算法
【文末送书】Matlab科学计算
【文末送书】Matlab科学计算
35 0
|
9月前
|
机器学习/深度学习 传感器 安全
2016年全国数学建模国赛A题基于matlab实现系泊系统的设计
2016年全国数学建模国赛A题基于matlab实现系泊系统的设计
2016年全国数学建模国赛A题基于matlab实现系泊系统的设计
|
10月前
谈一谈|Matlab仿真项目简介
谈一谈|Matlab仿真项目简介
53 0
|
10月前
|
程序员
一键解密Matlab p文件,先进的解密神器来了!
Matlab解密是程序员和科研人员经常会遇到的问题。
|
10月前
|
数据安全/隐私保护 开发者
【超级实用】一个神器助你解密matlab的pcode文件
如果你是matlab程序开发者,你肯定知道,matlab的p文件是使用pcode工具加密的文件,pcode文件不仅无法被查看和修改,也不支持直接进行调试。