MATLAB与JAVA直接数据通讯的方法_杨舰.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文档。上传文档
查看更多
MATLAB与JAVA直接数据通讯的方法_杨舰

MATLAB与JAVA直接数据通讯的方法 杨 舰 胡 威 陈小玲 (广东技术师范学院电子信息工程学院,广东广州 510665) 摘要:本文提出了一种MATLAB与JAVA直接数据通讯的方法。利用MATLAB中的JAVA接口类,通过MATLAB 引擎实现对JAVA服务器类的引用,再通过JAVA服务器与JAVA客户端通讯。这种直接数据通讯方法较之传统的基于 C+ +的MATLAB与JAVA之间的间接数据通讯具有更好的性能。文中介绍了我们提出的直接数据通讯方法的技术路 线,阐述了实现的方案,并用实例仿真验证了本方法的有效性,最后提出了今后的研究方向。 关键词:MATLAB;JAVA;直接;数据通讯;技术路线;仿真 中图分类号:TP311  文献标识码:A  文章编号:1672-402X(2007)10-0007-05 1.引言 MATLAB是目前流行、应用广泛的科研计算软件, 强大的数据处理能力和丰富的工具箱使其编程极为简 单,它还提供灵活的程序设计流程、便捷的与其他程序 和语言接口的功能,因此无可争议地成为当今科学界 最具影响力、也最有活力的软件,在各科研领域发挥重 要的作用。 而JAVA是一种面向对象的新一代网络编程语 言,具有稳定、可靠、跨平台等优点,可在各种不同机 器、操作系统的网络环境下进行开发,同时具有解释型 语言和编译型语言的特性。JAVA程序可在网络上传 输,并运行于任何客户机上,因其具有的各种优越性, 使得利用JAVA开发网络运行系统成为必然的研究 趋势。 为实现网络数据的分析处理,我们研究如何有效 地将JAVA与MATLAB结合,以发挥两者优势,即将 JAVA所采集的网络数据成功地传送至MATLAB,再进 行后续处理。   传统的JAVA与MATLAB通讯的技术都基于C + +间接实现,如此必须解决两方面问题:一是JAVA 与C+ +的通讯;二是C+ +与MATLAB的通讯。如 此无法体现JAVA与MATLAB接口的直接通讯,而且 程序运行时间会长些,不利于仿真功能的实现。因此 我们采用MATLAB与JAVA直接数据通讯方式,即利 用MATLAB中的JAVA接口类,通过MATLAB引擎实 现对JAVA服务器类的引用,然后再通过JAVA服务器 与JAVA客户端的通讯,这样克服了JAVA与MATLAB 之间基于C+ +间接通讯的许多不足。本文的结构 为:由节1指明研究的问题;节2概述实现思路及技术 路线;节3详细说明实现过程;节4给出实例;最后在 节5进行总结,并给出课题的后续研究展望。 2.MATLAB与JAVA直接 数据通讯的技术路线   MATLAB与JAVA数据通讯的框图如图1所示, 分为三个步骤:(1)JAVA提取数据;(2)MATLAB与 JAVA的通讯;(3)MATLAB的仿真。  2.1 JAVA提取数据 JAVA客户端利用JNI技术提取CPU、内存及网络 使用的有关数据,然后传送至JAVA服务端。 2.2 MATLAB与JAVA的直接数据通讯 本文MATLAB与JAVA直接通讯的框图如图2所 示:图2 MATLAB与JAVA的直接数据通讯   (1)在JAVA客户端引用自定义的提取数据的类获 得数据。在JAVASDK中的net包中包含一个API通讯 工具,利用其中的Socket编程接口可实现数据的传送。 (2)在JAVA服务器端也一样,可以利用Socket 编程接口实现数据的接收,并自定义一个方法将接收 到的数据返回。 (3)在MATLAB中引入作为服务器的JAVA类, 然后创建该类的一个对象,调用该对象中能返回数据 的方法,并将返回的数据存储为MATLAB数据。这其 中包含一个JAVA与MATLAB数据转换过程。 2.3 MATLAB分析仿真 (1)数据的来源 数据来源于JAVA服务端所收集的区域网络内的 资源情况,JAVA服务端可采用B/S或C/S等方式与 客户端联系。对于MATLAB而言,JAVA服务端可以 视为MATLAB的客户端。 (2)数据的分类 MATLAB有便利的分析工具,编程相对简单,但软 件运行耗时相对JAVA等接近硬件的语言较长。根据 不同性能要求及采样周期选择,我们将MATLAB端接 收到的数据分为静态及动态两大类: 1)静态数据:为采样周期长甚至只采集一次的数 据,用饼形图显示分析结果; 2)动态数据:为采样周期较小,多次采集的数据。 这类数据与时间关系密切,通过JAVA采样周期与客/ 服端传输时间的比对,又细分为伪动态及动态两种: i)伪动态数据:例如从JAVA服务器循环取得十 个时间点数据,然后用时间轴图表显示数据的变化情 况。通过观察变化曲线,可知当前时间段内资源的使 用情况。不过这种方式未实现真正意义的实时仿真, 仍然有较长的滞后时间; ii)动态数据:考虑采用下述

文档评论(0)

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

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

1亿VIP精品文档

相关文档