matlab中调用java

摘要:
matlab中有很多现成的函数 我不想重新改成java版本的
java中有核心的求平均函数,是用树结构和队列实现的,改成matlab 很麻烦

步骤

1.新建一个非source包,书写java文件(有package),打包成jar文件

https://blog.csdn.net/qq_26769591/article/details/82313902

2.将文件放在ext目录下

disp(java.lang.System.getProperty(‘java.ext.dirs’));
C:\Program Files\MATLAB\R2017b\sys\java\jre\win64\jre\lib\ext

3.重启matlab

4.用 包名.类名 进行访问

在这里插入图片描述

传值问题

matlab 和intelij 之间的传值
1.是不允许引用的这种的
2.也不能返回一个 class 对象这种
3.然后就想到了用类变量来进行值传递,但是注意类变量要设置为public类型的

package src;

/**
 * @program: Avaerage
 * @description: 测试参数的传递问题
 * @author: LiuYing
 * @create: 2019-03-02 22:22
 **/

public class test {

   public int x[];
    public  int y;

    public void transplate(int xx[])
    {
        this.x=new int[xx.length];
        for(int i=0;i<xx.length;i++)
        {

            this.x[i]=xx[i]+1;
        }
      y=1;

    }

}

传值成功

4.此外其实还可以借鉴JAVA BEAN 的方式 用get的方法进行传值

在这里插入图片描述

全局变量问题

matlab 可以使用全局变量 用global关键字

func1
     global obj ;
     obj=src.K_CDTW_DISTANCE; 
end
func2
    global obj;
        average=sequences(1,:);  %暂定为第一个吧
        a=average(4)
        tolerance=ones(1,size(average,2)); %给tolerance开辟和average一样大小空间
        obj.CDBA(average,tolerance,sequences); 
end

参考文献:

https://blog.csdn.net/snakeMoving/article/details/53107040

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值