《农业
网络信息》2006年第6期
研究与开发
Java-MATLAB集成方法的分析与探讨
郭志强,黄燕,吴平
(中国农业大学信息与电气工程,北京100083)要:本文总结提出了在Java应用中间接调用MATLAB的三种方法,第一种是利用CORBA等技术,第二种和第三种方
摘
法主要是利用MATLAB的外部C语言接口,结合利用JNI技术和MATLAB的COMBuilder工具。本论文对这三种方法进行了比较,并阐述了各种方法的如何应用以及各自的优缺点。关键字:Java;MATLAB;集成;CORBA;JNI中图分类号:TP312文献标识码:A文章编码:1672-6251(2006)06-0015-03
TheanalysisanddiscussionofJava-MATLABintegrationGUOZhi-qiang,HUANGYan,WUPing
(CollegeofInfomationandElectricalEngineering,ChinaAgriculturalUniversity,Beijing100083,China)Abstract:Inthispaper,wepresentthreewaystouseMATLABfromaJavaapplicationindirectly,thefirstmethodmakeuseofCORBA,thelattertwouseMATLAB’externalC-languageinterfaceandtheabilitytocompileMATLABpro-sgramsintostand-aloneCOMcomponents.Thenwegivedescriptionsonadvantagesanddisadvantagesofthesemethods.Key
words:Java;MATLAB;Integration;CORBA;JNI
在Internet网络
通信技术迅猛发展的今天,分布式异构集成应用
系统的开发和应用已成为必然发展方可靠、跨平台等优点,利用其开向。Java技术具有稳定、发分布式计算系统,已是必然的趋势。同时,Java开发继承并集成现存的系统。因此,Java与各现存的
软件系统进行良好的通信已提上了日程,成为当今开发的热点之一。美国MathWorks推出的MATLAB,是一套高性能的数值计算和可视化软件,它集数值计算、号运算、符矩阵计算、信号处理和图形显示于一体。MATLAB使用方便、界面友好,同时各个领域不断推出新的MATLAB工具箱,这些工具箱给各个领域的研究和工程应用提多项式供了方便、有力的工具。它不仅包括:方程求解、计算、数学的极值计算,而且在金融系统、业系统仿工真和统计等诸多领域都得到了广泛的应用。
COM接口来实现与MATLAB的通信。
在基于Java软件中调用MATLAB,既可以发挥Ja-
va语言的面向对象及支持网络编程的优势,又可以发
挥MATLAB强大的计算处理能力的优势,从而达到简化
程序开发,提高软件质量的目的。
1
Java-MATLAB集成的方法
从MATLAB的5.3版本开始,其便包含了Java虚
拟机,使在MATLAB中调用Java类成为可能;但是针对相反的调用,MATLAB并没有提供相应Java接口,因此不能在Java中直接调用MATLAB编写的程序,但是可以通过各种现有的技术,实现对MATLAB的间接的功能调用,下面分别进行介绍。
1.1
利用CORBA实现连接
CORBA(CommonObjectRequestBrokerArchitecture)
定义了一个开放的分布对象总线(对象请求代理ORB)标准,允许分布式对象应用程序之间进行互操作(即应用程序与应用程序之间通信),不管这些应用程序采用什么语言编写或驻留在什么地方,可实现对Java对象
MATLAB本身提供了引擎函数,利用它就可以在
其他软件中调用MATLAB的功能,引擎函数能够执行
MATLAB的命令,并实现在MATLAB和调用程序之间
的数据传输。引擎函数是C或者FORTRAN程序,通过