MATLAB從2006b的版本之後帶有MATLAB Builder for Java(又叫Java Builder),是對MATLAB Compiler的擴展。用Java Builder可以將MATLAB函數包裝到一個或多個Java類中形成一個Java組件或包。每個MATLAB函數被封裝爲Java類的一個方法,可以在Java應用程序中被調用。
在MATLAB安裝目錄/toolbox下如果看到javabuilder文件夾,則說明已經安裝MATLAB Builder for Java。
配置步驟:
軟件:Eclipse 3.5
Matlab 2009a
環境變量設置 :
JAVA_HOME (JDK的安裝位置,如C:/Program Files/Java/jdk1.5.0) 設置後,重啓matlab纔能有效。用getenv JAVA_HOME在Matlab的命令窗口中試驗,看看得到的返回值正確方可說明其對Matlab生效了。
Path添加%JAVA_HOME%/bin/javac
使用方法:
一,將MATLAB的.m文件生成jar包
1 在matlab的command窗口輸入deploytool,會在右側彈出一個新窗口(Deployment Tool)。
2 在Deployment Tool中,點擊new按鈕,選擇Matlab Builder for Java與Java Package。新建一個工程名字,如myadd.prj 。
3 確保在Deployment Tool面板中的Generate Verbose Output被勾上了。
4 在MATLAB的Editor中編寫myadd.m文件,示例代碼如下:
將myadd.m文件加入到Deployment Tool中的新建的類下面的class 文件夾下。
5 點擊build按鈕,則會在matlab的當前目錄下,生成以一個與工程同名的文件夾。找到distrib文件夾,將myadd.jar包拷貝到JAVA工程目錄下。
二、在Eclipse中新建JAVA項目
1 將myadd.jar包加入項目的build path;
2 matlabInstallRoot /toolbox/javabuilder/jar/javabuilder.jar 加入項目的build path;
3 新建JAVA類文件MJBuilderTest.java,示例代碼如下:
4 在Eclipse中設置好輸入參數輸入窗口:Run as- Run configations-Arguments 選擇 要輸入的數據類型,這裏選擇的是“string_prompt”,點擊應用。
5 編譯執行MJBuilderTest.java,輸入參數(2個參數用空格隔開),例如:1 2 ,如果配置正確,結果會顯示
“The sum of 1 and 2 is: 3”
可能出現的問題:
我使用的MATLAB版本是2009a在編譯MJBuilderTest.java報錯:
Failed to find the library mclmcrrt710.dll,required by MATLAB Builder JA, on java.library.path
原因是2009a要對應安裝mclmcrrt7.10。 在MATLAB安裝目錄下查找:/toolbox/compiler/deploy/win32,找到MCRInstaller.exe 安裝,重啓Eclipse即可。