Java中调用MatLab返回值

本文介绍如何在Java中调用MatLab函数并处理返回的多种类型数据,包括单个数值、一维数组及二维数组等,并提供转换方法。

当在Java中使用MatLab函数时,由于语言语法的不同,Matlab返回多个数据时,想在Java中获取到并进行使用。查阅了网上资料,翻箱倒柜加上自己实战,得出方法如下:

如MatLab函数返回的是N个变量值,其中有单个的数值、一维数组、二维数组等。

在Java中,使用Object[] rs=cmatlab.matlabfun(n , ....);接受返回的参数。其中rs[k]代表返回列表中第k个返回的变量的值。

如果rs[k]是单个数值,比如Double型。则使用下面的方法转换为Java中的Double型数值。

Object[] rs=cmatlab.matlabfun(n,a,b);//n指返回的变量个数,a、b代表输入的参数,如果是数值型,则可直接输入
MWNumericArray  mw=(MWNumericArray)rs[k]; //0<=k<n,假如要取返回列表中第k个返回变量的值

double db=mw.getDouble(); //如果rs[k]是单个数值 double[] db=(mw.getDoubleData()); //如果rs[k]是一维double型数组 int[][] db=(int[][])(mw.toIntArray()); //如果rs[k]是二维int型数组

如果不确定使用哪个,或者希望使用其他类型的转换,可使用IDE的代码自动补全功能进行智能提示,可查看MatLab返回列表存储的类型。

给IDE添加代码自动补全功能可查看教程:

Eclipse 代码提示功能设置  

Eclipse自动补全功能轻松设置 || 不需要修改编辑任何文件  

在Java中调用MatLab代码请查看上一篇博文:

使用ecilpse(Java)调用Matlab代码

 

转载于:https://www.cnblogs.com/lomper/p/3989181.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值