预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

MATLAB和JAVA的混合编程研究与实现·77· MATLAB和JAVA的混合编程研究与实现 任文杰,王伟,马松辉,陈怀民 (西北工业大学无人机特种技术国家重点实验室,陕西西安710065) 摘要:为充分发挥MATLAB和JAVA的优势,提出基于两者的混合编程技术。混合编程的关键是数据传 输问题,在此采用接口技术。研究了MATLAB和JAVA在本地环境和网络环境下的混合编程方法,通过 多个实例说明两者混合编程的过程和步骤。 关键词:MATLAB;JAVA;混合编程 中图分类号:TP29文献标识码:A文章编号:1000-8829(2009)01-0077-03 ResearchandImplementationofMixed2Language ProgrammingBasedonMATLABandJAVA RENWen2jie,WANGWei,MASong2hui,CHENHuai2min (NationalLaboratoryofUAVSpecialTechnology,NorthwesternPolytechnicalUniversity,Xi’an710065,China) Abstract:InordertofullyplaytheadvantagesofMATLABandJAVA,amixed2languageprogrammingtechnol2 ogybasedonthetwolanguagesisproposed.Thekeyofmixed2languageprogrammingistheissueofdatatrans2 mission,hereinterfacetechnologyisadopted.Themixed2languageprogrammingofJAVAandMATLABinthe localenvironmentandnetworkenvironmentisstudied.Someexamplesshowmixed2languageprogramming processandstepsofthisprocess. Keywords:MATLAB;JAVA;mixed2languageprogramming MATLAB是目前学术界和工程界最为流行的科学大时缺点尤为突出。 计算工具,它集数值计算、符号运算、矩阵计算、信号在一个应用软件的开发周期中,把不同阶段的算 处理和图形显示于一体,同时各个领域不断推出新的法和数据处理交给在这方面具有优势的编程语言或软 MATLAB工具箱,这些工具箱给各个领域的研究和工件,相比用单一语言开发同等性能的程序,它需更少的 程应用提供了方便、有力的工具。它不仅包括方程求时间,大大缩短了开发时间。为了降低这种程序设计 解、多项式计算、数学的极值计算,而且在金融系统、工的复杂度,绝大多数情况下都借助几种不同程序开发 业系统仿真和统计等诸多领域都得到了广泛的应用。语言混合编程的手段予以解决,利用每种语言在其某 JAVA是面向对象程序语言,其语言本身的安全一方面的优势实现相互互补,于是就把复杂度问题转 性很高并引入了一些日益重要的复杂任务,比如多线换为不同语言之间相互传递数据的问题。 程和网络编程这些工作用实现起来轻而易举。 ,JAVA1混合编程 然而,JAVA在数据分析和处理方面的能力却不那么 突出,尤其是在对数组矩阵之类数据进行操作时会因混合编程主要是为那些编程语言实现相同算法效 为多次循环而速度变得缓慢,这在数组或矩阵维数很率相差很大;不同软件间除了数据通信,其他相互独 立;并且不同软件间数据通信相对比较方便而提出的 编程思想。满足以上编程条件就可以采用混合编程, 收稿日期:2008-05-26 它可以大幅提高开发速度,明显改善软件质量。混合 作者简介:任文杰(1982—),男,河北枣强人,硕士研究生,专业 编程面临的主要问题是如何在不同语言(软件)之间 方向为控制理论与控制工程;王伟(1957—),男,山西夏县人, 进行数据传输。 教授,博士生导师,主要从事飞行控制与仿真,自适应控制的研 究;马松辉(1977—),男,河南巩义人,工程师,主要从事飞行控MATLAB对多线程实现方面无能为力,但是对数 制与仿真方面的研究;陈怀民(1963—),男,安徽涡阳人,副教据操作方面却有明显的优势。MATLAB有超过500种 授,硕士生导师,主要从事飞行控制与仿真的研究。数学、统计、科学及工程方面的函数可使用,一条语句 ·78·《测控技术》2009年第28卷第1期 便可完成十分复杂的任务。当一个JAVA程序员要开for(inti=0;i<value.length;i++){ 发一个涉及到大规模数据运算、分析和比较的程序时,series.add((double)(