在Java中调用Matlib函数的方法

Matlib是强大的数学计算工具,可以在Java中调用Matlib的函数。
例如,在Matlib中定义函数:
function y = MainFunction_d(parain)
函数MainFunction_d接收参数parain,有返回值y。

在java中如何在调用时传输参数并获得返回值呢?

mainfunction mf = new mainfunction();
//mainfunction时Matlib编译.m文件生成的java对象,这里构造java对象,可以调用到matlib的函数

String[] in = {"……"};
Object[] out = new Object[1];
mf.MainFunction_d(out, in);

//这里In代表输入参数,out代表函数的返回值,这样就可以拿到Matlib的函数的结果了

matlib中有一种特有的类型,cell数组,他是二维数组,数组中的每个元素都是一个cell数组,是不限递归的,这样可以表示很复杂的数据结构。Java中没有对应的数据结构,需要用下面的方式获得其数据:

MWNumericArray ma = (MWNumericArray) out[0];

       
ArrayList<double[]> result = new ArrayList<double[]>();
Object[] array = ma.toArray(); //转换为一维数组

for(Object aa : array){
double[] a = (double[])aa; //每个数组元素double数组
result.add(a);
}

最后,结果转换为ArrayList<double[]> result
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值