正文
收集整理到的一些开源软件,可以起到一定的替代效果。包括:scilab、octave、spyder、python、gmat、gnu radio、ros。特别是scilab,他与matlab最为接近,近乎可以实现完美替代!
一、“近乎完美”替代之scilab
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!(欢迎用过的朋友补充说明)
xcos截图:
二、与matlab语法兼容octave
如果已经对matlab语言非常熟悉,暂时不想学习一门新的语言,那么可以尝试一下octave。octave是gnu项目成员之一,提供了与matlab语法兼容的开放源代码科学计算及数值分析的工具。
octave 是一个类似 matlab 和 scilab 的数学软件包,可以进行各种运算,编程。它还有丰富的 c++ 接口可以让用户编程时调用。其配套的绘图工具采用 gnuplot 。octave 的使用也是基于字符终端模式的,当需要绘图时,将会调用 gnuplot 进行数据绘图,并显示出来。
octave 是用 c++ 编写的,它内容丰富的库也可以供用户在编写软件时调用。octave 同时还支持 fortran 等的调用,gsl 绑定等。可以由用户定制自己的函数、子程序等。
三、航天计算神器 gmat
对于航天器轨道计算、任务分析等,可以尝试general mission analysis tool (gmat)。gmat提供了图像化界面或脚本两种接口,相比于stk,gmat的深空探测相关功能更加强大,可配置的资源也更多。
四、软件无线电、信号处理等应用 gnu radio
gnu radio是一个对学习,构建和部署软件定义无线电系统的免费软件工具包,可通过python或类似于simulink/labview的图形化界面调用。紫丁香、龙江等卫星的业余无线电接收解调软件就是在gnu radio基础上开发并开源发布的。
五、机器人相关 robot operating system (ros)
ros是一种针对于满足不同机器人软件协同工作的灵活软件框架。目的在于提高软件模块化能力和复用能力,并实现不同任务间的数据/信号量的有效共享,方便多种机器人平台之间创建复杂和鲁棒的机器人行为,同时它也是一种工具库的约定与集合。
六、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 足以取而代之。
七、python
python是一门完全免费的通用编程语言,以开源的方式提供了大量各类用途的库与包,如numpy(数值计算)、scipy(数学、科学和工程计算)、matplotlib(类似matlab中plot的绘图工具)等等。
python是一门更易学更严谨的面向对象的程序设计语言。作为通用程序设计语言的python,有更为严格清晰的语法,可以轻易完成界面、文件、封装等高阶需求,可移植性更好,也非常适合ai、网络等相关应用。
python的拥有庞大的数学库,如果不是必须用到matlab simulink的化,用python来取代matlab 应该是最佳方式了。我们经常可以看到这样一个公式:
python+numpy+scipy+matplotlib = matlab
嘉立创FPC白膜上线!助力照明行业新产品研发!
在Auto CAD环境下实现制表功能
监控摄像头有多少种类应该如何选型
手机芯片主要由什么物质组成
宏光Mini EV爆红后,A00级电动车市场热情重燃
分享几种可以与MATLAB媲美的开源工具
定位于自动驾驶的域控制器系统应运而生!
庭院太阳能LED照明灯电路
非易失性存储器-Nor Flash的特点都有哪些
布斯算法(Booth Algorithm)乘法器的Verilog实现
光纤传输原理_光纤的发展及应用详解
虹科新品 | 用于工业自动化系统的压力传感器和流量计
微处理器芯片的位数指的是什么
PIC12C508单片机控制灯光慢慢的变亮和变灭的程序设计
窄频低功耗网络协议 最大化物联网节点容量
华为mate9正在内部测试Android O?华为再次抢先一步,试运安卓8.0,快的飞起
Bose将在明年推出新的降噪耳机
新能源汽车有哪些_新能源汽车价格表_5万到10万的新能源汽车
chisel(二)scala语法 函数与变量
6N1电子管耳放的电源电路图