Java调用matlab

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是输入。另外矩阵改为{{ , },{ , }}这种多维数组的形式输入


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值