摘要:
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