java开源仿真平台除了matlab,除了Matlab,数学物理建模仿真还有更好的选择
国内工业界搞研发时,使用的通用数学物理建模仿真软件除了Matlab还是Matlab,似乎Matlab已经成为了一种行业标准,找不到比它更牛的了。然而果真如此吗?只能说,Matlab满足绝大多数行业研发工作中的建模仿真需求,而且应用资源最丰富。但要说它最牛,当你遇到Matlab不支持的运算和数据类型时就知道有多头疼了。
求解偏微分方程,Matlab在多数情况下只能按设定的精度给你数值解,想要解析解?对不起,不支持(Matlab只能对极有限的几种简单微分方程给出解析解)。
要做张量运算,在笛卡尔坐标系下时可以用矢量代替一阶张量,用矩阵代替二阶张量,想要处理任意坐标系下任意阶的一般形式的张量?对不起,请找找有没有相关的第三方插件,或者自己用处理多维数组的方法写一个张量运算模块,实在不行就别用Matlab了。
要想玩转群、拓扑、流形、泛函这些研究高端问题的数学工具?还是先去找找有没有第三方插件或者干脆用别的软件吧,Matlab本身并不是为对付这些东西而设计的。
既然Matlab有如此多的事干不了或者直接干不了,为什么大家在做建模仿真时总是几乎只想到它呢?因为以上那些挑战Matlab能力极限的情况在工程中很少遇到,而且Matlab自带Simulink这个建模仿真的利器,可以在搭建大系统的模型时节省不少时间和精力。
但毕竟Matlab并非万能,科技发展越来越快,人们需要处理的技术问题越来越复杂,遇到Matlab不能解决的问题的几率也越来越大,实在不能不对Matlab不给力的情况提前想好应对方法。而且过度依赖和无限拔高Matlab不仅对其他数学建模仿真软件不公平,对Matlab的要求也太过分。
我在寻找怎么解决用Matlab处理张量的问题时发现了Maple这个名字,然后在自学入门Maple之后,发现打开了新世界的大门。
Maple这个软件几乎就是专为解决Matlab无法解决的问题而生,除了没有可视化的Simulink,Matlab能干的事都能干,Matlab干不了的它也能干。不仅Matlab内建的所有数学计算函数在Maple中一个不少,像求偏微分方程的解析解,处理含有不定变量的函数和方程以及张量、群、拓扑、泛函等抽象数学对象的任务全都不在话下,因为Maple特别擅长符号运算,属于代数系统而不是数值计算工具。即使是Matlab擅长的数值积分、求微分方程的数值解和各种矩阵的数值计算,Maple做起来也丝毫不比Matlab差,只要搞清楚原理,采用合适的数值处理方法,Maple的数值计算结果可以达到比Matlab更高的精度。
对于一般的数学计算问题,Maple完全不需要像Matlab那样输入命令代码去描述问题与计算过程,而是像用纸笔在纸上计算一样,在窗口中输入数学表达式!没错,就是我们平时书写的数学表达式的样子!
虽然采用自然的数学表达式来描述我们要求解的问题,Maple也同样具有Matlab的编程功能。它不仅有完善的结构定义、对象调用、事件检测、逻辑判断和流程控制语句,而且同样可以制作Windows应用程序的图形界面,实现自己定制简单易用的科学/工程计算与仿真应用软件,图形界面做起来就和编辑HTML文档一样简单!这些程序可以编译输出为一种类似Java的字节码,双击文件图标就会自动后台调用Maple的解释器来执行,不需要启动Maple的主界面和主进程,可以省不少内存。如果需要开发不依赖开发环境的可移植的可执行程序,Maple也提供把源程序转换为C语言代码的功能,可以把这些代码拷到C语言的工程中去用,总之Maple在编程方面和Matlab的功能完全对标,而且有自己的独特优势。
Maple的标准版本没有像Matlab的Simulink一样的图形化、模块化建模仿真工具,但额外购买Maplesim这个附加组件装上以后,Maple的功能就真的把Matlab完全覆盖了。而即便没有Maplesim,Matlab在搭建大系统模型时靠Simulink节省的时间和精力,Maple也可以在编写每个模块内部的具体数学模型时省回来。对于学生和科研工作者来说,Maple把计算和仿真的结果及过程输出为Latex格式的功能更是写论文、做报告的好帮手。
唯一的遗憾是,在国内,Matlab的应用教程资料和第三方二次开发的组件遍地都是,而Maple的资料却少得可怜,第三方二次开发的东西更是根本找不到,给想要学习掌握Maple的人带来了巨大的障碍。好在Maple本身就比Matlab易学易用,其帮助文档的内容和组织形式也比Matlab更合理,所有功能都附带大段详细的完整例程,可以直接拷下来按自己的需要改改就用。即使Maple的相关应用资源在国内如此贫乏,一个智商正常的人纯粹靠自学也完全可以做到三天入门,两周精通(可以自己开发出数学计算与仿真等专用应用程序),这对学习Matlab来说是无法想象的。
熟悉这类软件的人可能有意见了:别光夸Maple,科学计算和建模仿真,Mathematica才是最专业的大佬,Maple和Matlab在它面前都是渣渣!问题是Mathematica的功能强是强,同样也要比Maple复杂不少,对使用者和运行它的电脑要求都比Maple要高。Maple是个人就能立刻上手,花同样多的时间和精力可能只能掌握到Mathematica的极小一部分功能,对于只想找一种简单易用的工具来快速解决问题的非专业人员来说恐怕不太友好。Maple完全安装也就1G不到(最新版本是1G多一点),称得上是轻量级,Mathematica 3.7G的大小谁对电脑的压力更大一眼就能看出来。Matlab的最新版本装全所有功能组件以后也不比Mathematica小。
实际上,Maple的功能和用法与Matlab差得比较远,而跟Mathematica更接近,也可以说它更像是Mathematica的简化缩水版。所以,如果真的遇到了超出Matlab能力范围的问题需要解决,然而又实在没有足够的时间和精力去学习Mathematica,试试Maple一定会有惊喜。
PS:一个最新的好消息,Maple2018已经支持把自己的计算过程和代码转换输出为C/C++、Java、Python等近10种目前最常用的编程语言代码,也支持在自己的代码中内嵌Python代码,调用Python的库!对于数学不是太好的普通程序员来说,Maple2018绝对是一个补全短板的神器!
java开源仿真平台除了matlab,除了Matlab,数学物理建模仿真还有更好的选择相关推荐
- 全数字实时仿真平台SkyEye与SystemC集成进行时序仿真
SkyEye与SystemC集成进行时序仿真 仿真过程是正确实现设计的关键环节,用来验证设计者的设计思想是否正确,及在设计实现过程中各种分布参数引入后,其设计的功能是否依然正确无误.时序仿真使用布局布 ...
- java开源物联网平台推荐
申宝开源物联网平台 开源物联网平台是一个集成了设备接入.设备全生命周期管理.规则引擎.消息订阅等能力的一体化开源PAAS服务平台.向下支持连接海量设备,采集设备数据上云:向上提供北向输出功能和系统AP ...
- Java 开源开发平台 O2OA V7.1.0 发布,人力资源办公平台及手写签批上线
O2OA V7.1.0发布,新增了[人力资源办公平台]和版式公文中的[手写签批]功能. [人力资源办公平台]是使用O2OA开发平台设计并开发的一套适合于人力资源管理的办公系统.该平台将人力资源管理的所 ...
- Java开源开发平台O2OA V7.0发布,支持Docker容器化部署和三员管理模式
O2OA开发平台开源至今,已经有很多开发者参与我们每个版本的迭代和更新,有的开发者已经利用O2OA在公司内部搭建公司的开发平台,有的开发者在商业项目中使用O2OA平台作为信息化系统建设的基础能力平台. ...
- Java 开源开发平台 O2OA V7.3 发布,新增带权限的全文检索等重要功能
O2OA 自产品发布以来,我们收到了很多伙伴对产品的宝贵建议和意见,在 2022 年的最后一个版本里,我们为伙伴们又提供了新的能力,v7.3 版本正式发布,对平台做了更多的优化. 一.平台架构 新增带 ...
- matlab仿真的英文文献,matlab 外文翻译 外文文献 英文文献 MATALAB 混合仿真平台控制算法的概述...
matlab 外文翻译 外文文献 英文文献 MATALAB 混合仿真平台控制算法的概述 MATALAB 混合仿真平台控制算法的概述 MATALB 混合仿真平台,即为将硬件引入到仿真回路里的半实物仿真系 ...
- matlab中的routte,matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述...
<matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算法的概述>由会员分享,可在线阅读,更多相关<matlab外文翻译外文文献英文文献MATALAB混合仿真平台控制算 ...
- matlab电机系统建模与仿真软件下载,基于MATLAB直流无刷电动机系统建模与仿真
[摘要]在分析直流无刷电动机数学模型的基础上,利用MATLAB/SIMULINK仿真平台建立系统的仿真模型,给出仿真结果,通过施加不同的控制策略,以验证控制算法的合理性,为分析直流无刷电动机控制系统提 ...
- 基于matlab的跳频系统的仿真,基于MATLAB的跳频扩频通信系统的仿真研究
杨传山 摘 要:随着我国科技的日新月异,随之而来就产生了很多新型的通信方式,如扩展频谱通信就是其中一种,对于跳频通信,它则是扩展频谱通信当中的一种,对于跳频方面的通信.扩展频谱方面的通信.自适应方面的 ...
最新文章
- python文本分析
- 【好文推荐】查看mysql安装位置
- python电脑上怎么下载-python下载文件的三种方法
- 工作计划2017-01-03
- React-native 环境配置过程与搭建项目问题汇总
- [Mummy Maze] 宽度优先搜索
- 设计模式——4.抽象工厂模式
- 我的开源项目:TS封装格式分析器
- 戴尔:未来就绪的IT
- python function terminated_Calibre 转换 TXT 文件出现 Errno 21 错误的解决方法 – 书伴
- SQL篇·Oracle字段根据逗号等分割
- 一文了解BIOS相关名词
- 机房动力环境监测解决方案
- 物联网智慧物流平台开发
- 判断机型,支持最新设备(iPhone SE Gen2 和 iPad Pro 11 Gen2、iPad Pro 12.9 Gen4)
- python爬取html中文乱码
- 谷歌chrome浏览器源码分析
- Altium Designer差分线设置与蛇形走线详解
- 串级PID及角度过零处理
- springboot-分布式实例开发 (六)