Java调用matlab

来源:互联网 发布:知乎 电脑下载 编辑:程序博客网 时间:2024/06/08 11:59
matlab强大的数据计算能力,可以给java调用。我前段时间写了一个matlab的最优化算法,想给Java调用,期间遇到很多问题,罗列如下:
  1. matlab代码必须形如:function[x]=testpurchase(price,amount,prop)这种函数形式

2.将.m文件转为.jar的过程为:
(1)命令行下输入deploytool,选择Library Compiler
(2)TYPE选择 java Package ,将.m文件+进去,选择package。在打包过程中遇到了报错的问题,没找到解决办法,最后选择将系统中的jdk版本修改成和matlab一致的版本才解决了。(matlab2015a好像只支持jdk1.7的不支持更高版本的)
(3)打包完成后会弹出一个testpurchase.jar的目录,在找到matlab/toolbox/javabuilder/jar/javabuilder.jar。这两个jar文件就是待会要导入到eclipse中的jar。
(4) > http://blog.csdn.net/mazhaojuan/article/details/21403717,这里有jar导入Eclipse的三种方法。将jar导入
(5)新建类后,import,

import com.mathworks.toolbox.javabuilder.*;
import testpurchase.*;


3.完成后发现:在matlab中(price,amount,prop)三个参数的函数变成了这样:
c.testpurchase(arg0, arg1);
经过查找资料发现,arg0是输出,arg1是输入。我猜测可能是由于我的三个参数均是matlab中矩阵的原因,导致了这种情况。所以我将其改成:
c.testpurchase(1, price,amount,prop);
其中1是输出的参数个数,,price,amount,prop是输入。另外矩阵改为{{ , },{ , }}这种多维数组的形式输入


1 0
原创粉丝点击