matlab中调用java代码_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吧
設定compiler(R2010a版本的Matlab不兼容JDK7版本的java文件)
選擇項目,Export...
第三步:重啟Matlab
第四步:編寫M文件,調用java類
Matlab的測試文件,如下圖所示(代碼編輯中沒有Matlab,囧,就用圖片了)
Matlab的輸出如下
后記:
之所以采用這種方式,是由于在編寫DTW算法的時候,用Matlab實現的算法效率不高。故將Java實現的DTW算法采用這種方式處理,拓展Matlab的計算功能。
雖然是在Matlab中調用Java代碼,但是速度還是比用Matlab編寫的速度快。囧,為什么,以后再探究吧。
總結
以上是生活随笔為你收集整理的matlab中调用java代码_Matlab中调用第三方Java代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java快速查找算法_Java实现的快速
- 下一篇: java 读取流的字符编码格式_如何使用