基于Java―Matlab的远程仿真方法.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Java―Matlab的远程仿真方法.doc

基于Java―Matlab的远程仿真方法   摘 要   目前仿真系统基本都是基于本地的仿真,针对这类仿真系统的问题,提出了一种基于Java-Matlab的远程仿真系统。利用了基于Matlab Engine的JMatlink将Java与Matlab联接,充分发挥Matlab数值计算优势和Java的跨平台性,实现了基于Java Web的远程仿真.将其应用于飞行控制仿真,实验结果表明该方法是可行的。   【关键词】远程仿真 JMatlink Matlab Java Web   C/S结构的仿真系统需要安装客户端,互联网蓬勃发展的时代,C/S结构逐步向B/S转换。本文提出了一种基于Java和Matlab的联合编程方法,利用Java语言的特点实现了基于Web B/S结构的远程仿真。   1 Java与Matlab联合编程   目前,间接调用Matlab的方法有三种:第一种,利用CORBA(Common Object Request Broker Architecture)实现连接;第二种,利用Matlab的COM Builder连接;第三种,利用JNI(Java Native Interface)和Matlab Engine实现连接。本文选用第三种方法,采用第三方JMatLink接口实现Java和Matlab的联合开发。   Java与Matlab准备工作:   利用Java调用Matlab函数,Matlab相当于服务器。只需在Matlab中编写好要使用的函数,即可通过JMatLink调用这些函数。由于本方法是基于Java Web的,所以Java的调用函数写在servlet中,主要程序如下:   JMatLink engine=new JMatLink();   engine.engOpen();   engine.engPutArray(P1,P1);   engine.engPutArray(P2,P2);   String Func=Func(P1,P2);;   engine.engEvalString(Func);   engine.engClose();   2 Java-Matlab联合仿真平台   基于Java-Matlab的远程仿真平台主要由四个部分构成:   (1)处理输入数据和计算结果的m函数;   (2)向Matlab提交数据的jsp输入文档;   (3)处理输入文档信息并调用Matlab Engine实现通信的Java后台;   (4)接收Matlab返回值的jsp前台页面。   步骤如下:   (1)自行编写的M函数需要保存在磁盘空间,并且在Matlab客户端需要set Path导入该路径,系统自带的M函数则不需要;   (2)jsp输入文档主要是一个表单,用于读取用户输入的参数,用户可以根据自己的需求按照页面要求输入参数,选择需要的服务选项,最后提交,这样参数就能传递给Java后台程序进行相应的处理;   (3)首先建立几个bean类,然后新建servlet类,Java的后台处理都在servlet里执行,其主要代码如1.2所提。在servlet中,需要引入之前建立的类,而且还需要引入JMatLink类,具体语句是import jmatlink.JMatLink。这样才能正常使用Matlab Engine去调用Matlab函数;   (4)前台页面是必须要有的,需要接受来自Matlab计算的返回值或者仿真图形等。和2.2的输入文档类似,前台页面也是jsp格式,当Matlab计算结束返回时,Java后台先接收然后立即返回并显示在前台jsp页面。   3 基于神经网络的飞行仿真   在此仿真平台,以波音747-100/200飞机模型飞行仿真实验为例验证其可行性。首先,启动Tomcat,启动IE,在地址栏输入http://localhost:8080/MRAC/,MRAC为仿真平台名,登录仿真平台,输入飞行初始状态,选择仿真的算法,可以选择遗传算法或者遗传蚁群算法,输入神经网络训练参数:仿真时间,步长,训练精度等,输入飞行的方向舵损失和副翼损失,选择参考模型输入方式并输入参考模型。   图1是远程仿真平台从服务器返回的仿真图,此次仿真选用的是BP神经网络,并用遗传算法优化该网络,参考模型采用状态空间模型输入,选取的模型是747-100/200飞机模型。   系统的服务器系统选用linux来保证系统的稳定性。实验表明,本文提出的方法能实现Java与Matlab联合编程的仿真,并且在实际应用方面有一定的参考价值。   4 结论   本文提出了一种基于Java和Matlab的联合编程的新型远程仿真系统,充分利用了Java的跨平台性的优点和Matla

文档评论(0)

lmother_lt + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档