JAVA调用Matlab函数

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.打包过程

  1. 打开Matlab,在Command Window框中输入deploytool,会出现如下界面:选择Library Compiler.
    这里写图片描述
    1. 在红椭圆处选择为Java Package,在加号处选择所需打包的.m文件。这里写图片描述
    2. 在红椭圆处可以更改jar包名字以及class名字。
      这里写图片描述
      4.点击右上角的绿色对号Package,即进入打包过程。
      这里写图片描述
      这里写图片描述
      5.在Matlab安装目录中,将javabuilder.jar以及刚打包好的jar文件添加到java项目中。
      这里写图片描述
      6.新建Java类,代码如下:
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.执行,就可以看到所需的结果。
这里写图片描述
这里写图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值