`
xiaolongfeixiang
  • 浏览: 236530 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

Matlab中调用第三方Java代码

 
阅读更多

在Java中采用Matlab JA Builder可以实现调用m文件,采用这样的方式,可在Matlab的M文件中,直接调用Java类。这种方式可以表示为Java--> Matlab( m, Java),即整个程序由Java启动。

 

那如何使用Matlab直接调用Java的方式?

 

错误的方法:网上有些说将jar、class放在Matlab的Search路径中。查看了下Matlab的说明,Search路径下放置Matlab自己的类都有限制,Java的类根本无法采用这种方式。

 

正确的方法(尝试中):以下这种方法,只是一个策略,即借助于Java的扩展机制。

 

第一步:定位Matlab中Java环境的ext目录

 

新建一个M script文件,或者直接在Matlab的交互式命令行中输入:

 

disp(java.lang.System.getProperty('java.ext.dirs'));

 查看输出(不同的版本、安装环境不一样):

 

C:\Program Files\MATLAB\R2010a\sys\java\jre\win32\jre\lib\ext;C:\Windows\Sun\Java\lib\ext

 

第二步:将需要的java文件打包放入到ext目录中,这里选择第一个目录

 

测试的Java类

 

package cn.edu.xjtu;

public class JavaSuccess {

	public String isSuccessful(){
		return "external jar has been loaded successfully!";
	}
	
}

 打包,注意版本的问题。不会手动打包的,就用Eclipse吧

 

 

  1. 设定compiler(R2010a版本的Matlab不兼容JDK7版本的java文件)
  2. 选择项目,Export...


 

第三步:重启Matlab

 

第四步:编写M文件,调用java类

 

Matlab的测试文件,如下图所示(代码编辑中没有Matlab,囧,就用图片了)

Matlab的输出如下


 
 
后记:

 

之所以采用这种方式,是由于在编写DTW算法的时候,用Matlab实现的算法效率不高。故将Java实现的DTW算法采用这种方式处理,拓展Matlab的计算功能。

虽然是在Matlab中调用Java代码,但是速度还是比用Matlab编写的速度快。囧,为什么,以后再探究吧。
 

 

  • 大小: 24.6 KB
  • 大小: 68.8 KB
  • 大小: 129.9 KB
0
2
分享到:
评论

相关推荐

    java调用matlab笔记

    1. **添加第三方库:** 将编译好的Matlab JAR文件作为第三方库添加到MyEclipse项目中。 - 通过项目属性中的“Java Build Path”-> “Libraries”选项卡完成添加。 2. **编写Java代码:** - **导入Matlab类:** 使用`...

    java_连接_matlab

    如果没有安装,可通过官方渠道或第三方网站下载安装包进行安装。 **推荐下载地址**: - [MATLAB 2008](http://www.jliae.edu.cn/ele/Soft/ShowSoft.asp?SoftID=60) ##### 3.2 Java环境配置 - **安装JDK**:至少...

    MATLAB应用案例:MATLAB和Java的结合使用案例.zip

    这种方式常用于调用Java的系统库或者第三方库。 5. **数据交换**:MATLAB和Java之间的数据交换可以通过MATLAB的数据类型,如`matlab.double`或`matlab.int32`,进行转换。Java对象可以被封装为MATLAB的`javaObject`...

    在matlab中使用java

    1. **调用Java API类和包**:用户可以直接访问Java的核心类库,如`java.lang`、`java.util`等,以及第三方类库,从而利用这些类库提供的功能。 2. **创建Java对象**:用户可以在MATLAB环境中创建Java对象,并使用...

    matlab与Keil连接

    - 在使用第三方开发库时,最好参考官方文档和社区讨论以避免潜在问题。 #### 七、结论 通过上述步骤,我们可以成功地建立MATLAB与Keil之间的连接,并基于此构建一套高效的嵌入式开发环境。这种方法不仅提高了开发...

    MatLab的YAML库文件

    在MATLAB中,没有内置的YAML库,但开发者可以通过编写自己的函数或者使用第三方库来实现YAML的功能。`YAML.m`可能就是这样一个函数或脚本,它提供了读取和写入YAML文件的功能。这个文件可能是MATLAB的M文件,包含了...

    matlab_matlab_

    除了基本功能外,MATLAB还支持与其他编程语言的接口,如C、C++和Java,使得在MATLAB环境中调用外部代码成为可能。本书也会涉及这部分内容,让读者了解如何利用MATLAB的外部接口功能来扩展其功能。 最后,本书会提供...

    基于Matlab神经网络工具包编译的jar包Java程序调用过程

    - 在Java程序中,通过调用Matlab引擎或其他第三方库(如JMI、Matlab Engine for Java等),加载并利用保存的`.mat`文件进行预测。 #### 知识点四:常见问题与解决策略 在使用Matlab神经网络工具包与Java集成过程...

    matlab-control.jar

    在我们的java工程中,如何需要进行大量的数学运算,一般的情况下会直接自己编写.java的运算代码,或者调用已经写好的第三方jar包,或者有的人会使用matlab写好计算方法,再打包成jar包,但是以上没有任何一种方法,...

    Java和Matlab混合编程及其应用.pdf

    能够借助第三方提供的Java类库提高编程的重用率;在Matlab中可以更容易地构建Java对象,并使用Java或Matlab的语法访问Java对象中的方法;并且可以容易地实现Matlab和Java之间的对象或数值传递。 Java程序调用Matlab...

    JAVA计算微积分源代码

    某天,突发奇想,有没有计算微积分的程序 找了半天,发现一些如 matlab 、《计算工厂》等软件, 就是没找到,能够以字符串形式输入表示式 并且能够方便JAVA调用的程序 于是花了3天做了一个

    MATLAB与其他程序接口手册

    这对于利用Java的图形用户界面库或第三方Java库非常有用。 4. **.NET接口**:对于.NET框架的用户,MATLAB提供了.NET/MATLAB Interface,可以访问.NET组件,实现与.NET应用的互操作。 5. **Python接口**:MATLAB...

    MATLAB外部接口编程第章完美版资料.ppt

    4. **MATLAB的Java接口**:MATLAB支持直接调用Java API和第三方Java类,可以创建Java对象并在MATLAB环境中使用。这为MATLAB提供了更丰富的图形用户界面(GUI)和网络编程能力,同时也允许与其他Java应用程序进行数据...

    matlab转换java代码-mplot:mplot

    在Java中实现类似的绘图功能,可能需要利用Java的图形库,如JavaFX或Swing,或者使用第三方库如JFreeChart或Apache Commons Math。 这个名为"mplot-master"的压缩包很可能是该项目的源代码仓库,包含主分支的全部...

    matlab开发-JPEG2000MATLABwrapper

    包装机(wrapper)的作用是将这些外部库(如Kakadu或JJ2000)与MATLAB环境相结合,创建一个可以在MATLAB中调用的函数或类,使得MATLAB用户可以方便地利用这些库进行JPEG2000的处理。 在“环境和设置”这个标签中,...

    深入浅出MATLAB 7.x混合编程

    书中的实例将涵盖各个混合编程的场景,例如使用MEX文件加速数值计算、通过COM接口实现Excel与MATLAB的数据交换、利用Java API调用第三方库等。这些实例不仅有助于理解理论知识,还能提高实际编程技能。 除此之外,...

    App 间相互调用实例代码

    然而,有时为了实现特定功能,比如分享内容或使用第三方服务,我们需要进行App间的相互调用。在这个实例中,我们将探讨如何在Android平台上进行App启动、查询系统App信息以及结束目标App的操作。 首先,让我们关注...

    Java 开发--基于matlab的数字图像分割技术研究及实现(论文).rar

    然而,为了在Java环境中实现这些功能,可能需要借助如Java Advanced Imaging (JAI)、Java Image I/O (javax.imageio) 或 OpenCV等第三方库。这些库提供了类似MATLAB的功能,支持图像读取、处理和保存。 论文可能会...

    matlab jplv7

    8. **第三方库接入**:用户可以通过JPLV7引入任何可用的Java库,例如机器学习库(如Weka)、科学计算库(如Apache Commons Math)等,进一步增强MATLAB的功能。 压缩包中的文件"**c111c89fb9374bc5a8207f208881d152...

Global site tag (gtag.js) - Google Analytics