龙空技术网

推荐替代MATLAB的备用工具

万逸父豪 164

前言:

目前小伙伴们对“matlabhtml”大约比较关切,咱们都想要剖析一些“matlabhtml”的相关内容。那么小编也在网络上收集了一些关于“matlabhtml””的相关知识,希望姐妹们能喜欢,兄弟们一起来了解一下吧!

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

大学读理工科专业的同学基本上都接触过MATLAB这款软件,有分析人士指出,如果整个学校被禁用了正版 MATLAB,这意味着学校的人员在发表论文或者从事商业项目,其成果原则上就不应包含任何基于 MATLAB 的内容,这对国内相关企业和研究学者带来的影响不可忽视。这件事在国内社交媒体迅速发酵并登上热搜,引发学术界和技术界的广泛讨论。 现在只是禁止了实体名单的上的几所高校,但是谁又能保证后续不会加码制裁打击中国高校,抑制中国科技发展呢?因此通过此次禁用事件,我们有理由说现在已经到了后MATLAB时代!急需找到MATLAB合适的替代品。

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

推荐1:Python

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

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

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

python+NumPy+Scipy+matplotlib = Matlab

推荐2.“近乎完美”替代之SCILAB

SCILAB 一词来源于英文“Scientific Laboratory"(科学实验室)词头的合并。与MATLAB类似,SCILAB也是一种科学工程计算软件,其数据类型丰富,可以很方便地实现各种矩阵运算与图形显示,能应用于科学计算、数学建模、信号处理、决策优化、线性/非线性控制等各个方面。它还提供可以满足不同工程与科学需要的工具箱,例如SCICOS,信号处理工具箱,图与网络工具箱等。可以说,就基本的功能如科学计算、矩阵处理及图形显示而言,MATLAB能完成的工作SCILAB都可以实现。由于SCILAB的语法与MATLAB非常接近,熟悉MATLAB编程的人很快就会掌握SCILAB的使用。有意思的是,SCILAB提供的语言转换函数可以自动将用MATLAB语言编写的程序翻译为SCILAB语言。目前,SCILAB除了WINDOWS与NT版本外,还有多种UNIX或LINUX下的版本,如SGI MIPS Irix, PC Linux, Sun Sparc stations(SunSolaris) 等。

SCILAB 是一款与 MATLAB 类似的开源软件,可以实现 MATLAB 上所有基本的功能,如科学计算、数学建模、信号处理、决策优化、线性、非线性控制等各个方面。由于 SCILAB 的语法与 MATLAB 非常接近,熟悉 MATLAB 编程的人很快就会掌握 SCILAB 的使用。有意思的是,SCILAB 提供的语言转换函数可以自动将用 MATLAB 语言编写的程序翻译为 SCILAB 语言。目前,SCILAB 可在 Linux、WINDOWS 和 Mac OS 全 PC 平台运行。

作为开放源码的软件,SCILAB的源代码、用户手册及二进制的可执行文件都是免费的,公布于INRIA的网站上(中法实验室已建立其镜像网站),可以直接下载,在EETOP论坛SCILAB专区也可以下载:

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

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

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

推荐3:与MATLAB语法兼容Octave

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

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

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

推荐4:航天计算神器 GMAT

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

推荐5:软件无线电、信号处理等应用 GNU Radio

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

推荐6:机器人相关 Robot Operating System (ROS)

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

标签: #matlabhtml #封装的定义matlab #matlab 封装函数