后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截图:

2. 与MATLAB语法兼容Octave

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

Octave 是一个类似 MATLAB 和 Scilab 的数学软件包,可以进行各种运算,编程。它还有丰富的 C++ 接口可以让用户编程时调用。其配套的绘图工具采用 gnuplot 。Octave 的使用也是基于字符终端模式的,当需要绘图时,将会调用 gnuplot 进行数据绘图,并显示出来。

Octave 是用 C++ 编写的,它内容丰富的库也可以供用户在编写软件时调用。Octave 同时还支持 Fortran 等的调用,GSL 绑定等。可以由用户定制自己的函数、子程序等。

3. 航天计算神器 GMAT

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

4. 软件无线电、信号处理等应用 GNU Radio

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

5 机器人相关 Robot Operating System (ROS)

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

6. Spyder

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

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

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

7. Python

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

Python是一门更易学更严谨的面向对象的程序设计语言。作为通用程序设计语言的Python,有更为严格清晰的语法,可以轻易完成界面、文件、封装等高阶需求,可移植性更好,也非常适合AI、网络等相关应用。

Python的拥有庞大的数学库,如果不是必须用到MATLAB simulink的化,用Python来取代MATLAB 应该是最佳方式了。我们经常可以看到这样一个公式:python+NumPy+Scipy+matplotlib = Matlab

本文经授权转自公众号"EETOP" 。

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/487589.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

训练深度学习_深度学习训练tricks整理1

深度学习训练tricks整理1环境:pytorch1.4.0 Ubuntu16.04参考:数据增强策略(一)​mp.weixin.qq.comhttps://zhuanlan.zhihu.com/p/104992391​zhuanlan.zhihu.com深度神经网络模型训练中的 tricks(原理与代码汇总&…

三个可能会被计算机视觉技术改变的行业

计算机视觉最主要的应用是面部识别,这种技术经常被用于安全和执法领域。但是,本文意在介绍一些计算机视觉技术不太明显的用途。来源丨Forbes作者丨Bernard Marr编译丨科技行者计算机视觉技术(也被称为机器视觉)允许机器以视觉方式…

查看本机的ip地址

ifconfig可以查看本机的ip地址:inet addr:10.108.104.185 转载于:https://www.cnblogs.com/ymjyqsx/p/7520070.html

java stream 多个filter_如何在Java Stream上应用多个过滤器?

我必须通过一个映射过滤一个对象集合,该映射包含对象字段名称和字段值的键值对。我试图通过stream()。filter()应用所有过滤器。对象实际上是JSON,因此Map保留了其变量的名称以及它们必须包含的值才能被接受,但是出于简单性的原因&#xff0c…

没有数学何来计算机:论计算机起源的数学思想

来源:无数学 无计算机人类的历史可以看做一部关于解放的历史。也有这样的说法,懒惰是人类进步的动力。为了偷懒,人类不断的做着各种努力,发明了各种机器工具,将自己从繁重的劳动解放出来,另一方面&#xf…

python和python stub文件类型的区别_python – 如何告诉mypy包含stubfile

我正在玩mypy(版本:0.630),我很难让它看到我的存根文件.谁能告诉我这里有什么问题:我的目录结构如下所示:├── caesar.py└── stubs└── caesar.pyicaesar.py包含一些有效的python代码. caesar.pyi包含单词bugger.我希望当我运行mypy时…

复杂控件

1.自定义标题栏 1.1引入布局 步骤: 1)写好布局 2)在activity布局里面直接引用该布局 核心代码: 注意:如何将系统自带的标题栏去掉: 方法一:(不一定灵) 方法二&#xff1a…

​Arm芯片的新革命在缓缓上演

来源:内容由半导体行业观察(ID:icbank)编译自「seekingalpha」,谢谢。因为苹果将发布使用其自研Arm芯片的Mac电脑,为此我认为基于ARM的芯片将蚕食 Intel和AMD的核心业务。这其实已经发生了,但是…

web移动端开发经验总结

整理web移动端开发经验&#xff0c;部分内容借鉴于网上的博文。 1、meta标签 <meta name"viewport" content"widthdevice-width,initial-scale1.0,maximum-scale1.0,user-scalable0;" /><!-- width可视宽度&#xff0c;initial-scale初始化缩放比…

追踪“MATLAB被禁”:我们如何做出卡别人脖子的软件?

作者 | 包云岗&#xff08;中国科学院计算技术研究所研究员&#xff09;编辑 | 宗华排版 | 华园导 读最近&#xff0c;哈工大、哈工程被禁用工科神器Matlab一事引发持续讨论。6月19日&#xff0c;中科院计算所研究员包云岗在微博上分享了他在“CCF YOCSEF杭州Matlab被禁之特别…

oracle 截取小数点_处理小数点位数的Oracle函数

Oracle函数可以实现许多的功能&#xff0c;下面为您介绍的Oracle函数用于处理小数点位数&#xff0c;如果您对Oracle函数数据库感兴趣的话&#xff0c;不妨一看。关于处理小数点位数的几个oracle函数()&#xff1a;1. 取四舍五入的几位小数select round(1.2345, 3) from dual;结…

拿下赌场新客户,但马斯克“超级隧道”何时才能颠覆地面交通?

来源&#xff1a;脑极体埃隆马斯克那家非常“Boring”的隧道公司&#xff0c;最近生意又热络了起来。据媒体报道&#xff0c;在5月份完成美国拉斯维加斯会议中心的两条地下隧道之后&#xff0c;埃隆马斯克的隧道公司&#xff08;Boring Company&#xff09;又接到了当地两家大型…

NOIP2016天天爱跑步 题解报告【lca+树上统计(桶)】

题目描述 小c同学认为跑步非常有趣,于是决定制作一款叫做《天天爱跑步》的游戏。天天爱跑步是一个养成类游戏,需要玩家每天按时上线,完成打卡任务。 这个游戏的地图可以看作一一棵包含 nn个结点和 n-1n−1条边的树, 每条边连接两个结点,且任意两个结点存在一条路径互相可达。树…

人工智能发展简史

文章来源&#xff1a;人工智能和大数据 &#xff08;ID&#xff1a;AIANDBIGDATA&#xff09;人工智能是在1956年作为一门新兴学科的名称正式提出的&#xff0c;自此之后&#xff0c;它已经取得了惊人的成就&#xff0c;获得了迅速的发展&#xff0c;它的发展历史&#xff0c;可…

程序媛计划——python数据库

#实例&#xff1a;用数据库存储日记&#xff0c;实现日记本功能 #流程 #创建数据库 1 #coding:utf-8 2 import sqlite3 3 connectsqlite3.connect(test.db) 4 connect.close() #效果 #用sqlite3模块对数据库进行操作 1 #coding:utf-82 import sqlite33 #创建数据库4 connectsql…

国产半导体路在何方,瓦森纳与光刻机你了解多少

来源&#xff1a;PConline光刻机&#xff08;Mask Aligner&#xff09;是制造微机电、光电、二极体大规模集成电路的重要设备。一台光刻机主要包括了曝光系统和对准系统两个部分。光刻机能够利用曝光系统发射出的紫外线通过模版去除晶圆表面的保护膜&#xff0c;将器件或电路结…

linux实验总结及心得_安全实验室 | 内网渗透—Linux权限维持技巧总结

在上一篇文章中我们介绍了内网渗透中Windows环境下进行权限维持(点击阅读)的方式&#xff0c;本期我们将视角集中在Linux系统中继续对内网渗透中的权限维持方式进行探索。Linux也是在内网渗透中很常见的操作系统&#xff0c;但是其内部实现方式却与Windows有着本质的区别。我们…

特殊乘法(字符串循环的结束标志)

#include<iostream>using namespace std;int main(){ char s1[11]; char s2[11]; while (cin >> s1 >> s2) { int ans 0; for (int i 0; s1[i] ! 0; i) //字符串判断标志 { for (int j 0; s2[j] ! 0; j) { ans (s1[i] - 0)*(s2[j] - 0); } } cout <&l…

深度学习模型并非“越大越好”,它可能引起气候变化问题

来源丨Forbes作者丨Rob Toews编译丨科技行者和当今的深度学习方法相比&#xff0c;我们大脑的效率高得不可思议。它们只有几磅重&#xff0c;大概只需要20瓦左右的能量消耗&#xff0c;这个能耗只能够给昏暗的灯泡供电。然而&#xff0c;它们代表了已知宇宙中最强大的智力形式。…

python 声音基频f0_音高和基频(Pitch and F0)

音高(Pitch)和基频(F0)是两个非常接近的概念&#xff0c;尽管它们有所不同&#xff0c;但通常并不区分。音高和基频的关系最早在音乐界被发现&#xff0c;通常认为&#xff0c;音高增高八度音程相当于基频翻倍。在1000Hz以下&#xff0c;基频翻倍略小于音高的八度音程&#xff…