1.电脑上已经装好了Matlab以及Java运行环境(本人使用Matlab 2015a jdk为1.7.0_79)
2.Matlab源码
`function [dependency,smp_csst]=clsf_dpd_fast(path,delta)
load(‘wine.mat’);
data_array=standdata; %standdata 178*14;
delta=0.5;
[m,n]=size(data_array);
smp_chk=[1:m];
num_rightclassified=0;
smp_csst=[];
for i=1:length(smp_chk)
sign=1;
j=0;
while j~=m
j=j+1;
sqare_distance=0;
if j~=i
for k=1:n-1
d=(data_array(smp_chk(i),k)-data_array(j,k))^2;%是否支持符号型数据(自然数),区别在此
if d>1
sqare_distance=sqare_distance+1;
else
sqare_distance=sqare_distance+d;
end
end
if sqrt(sqare_distance)<=delta
if data_array(j,n)~=data_array(smp_chk(i),n)
j=m;
sign=0;
end
end
end
end
if sign==1
num_rightclassified=num_rightclassified+1;
smp_csst=[smp_csst,smp_chk(i)];
end
end
dependency=num_rightclassified/m;
3.打包过程
- 打开Matlab,在Command Window框中输入deploytool,会出现如下界面:选择Library Compiler.
- 在红椭圆处选择为Java Package,在加号处选择所需打包的.m文件。
- 在红椭圆处可以更改jar包名字以及class名字。
4.点击右上角的绿色对号Package,即进入打包过程。
5.在Matlab安装目录中,将javabuilder.jar以及刚打包好的jar文件添加到java项目中。
6.新建Java类,代码如下:
- 在红椭圆处选择为Java Package,在加号处选择所需打包的.m文件。
package com.tyut.rcr;
import clsf_dpd_fast.Clsf;
public class lyt {
public static void main(String[] args) {
Object path = null;
Object delta = null;
Object[] result = null;
Clsf clsf = null;
try{
path="C:\\Users\\REN\\Desktop\\mjTest\\wine.mat";
delta=0.6;
clsf = new Clsf();
result=clsf.clsf_dpd_fast(2, path,delta);
System.out.println(result[0]);
}catch (Exception e)
{
System.out.println("Exception: " + e.toString());
}finally{
if(clsf!=null){
clsf.dispose();
}
}
}
}
7.执行,就可以看到所需的结果。