在封装Matlab函数时,在Java中编码一个“结构”的例子?
2次浏览(过去30天)
显示旧的注释
我正在着手编写Java包装
intlinprog
,同时学习Java。我的面向对象编程经验是2004年左右的c++,所以阅读Java代码习惯用法、模式、Matlab数据转换和编程是一个有趣的学习曲线
封装过程本身,以及Java编译/调用
.
intlinprog
需要一个
结构体
参数命名
选项
.
有一个例子如何在Java中编写MATLAB结构吗?
根据
Java与MATLAB数据转换规则
,
结构数组是作为MWArray数组构造和访问的。
Java/Matlab互操作的大多数示例使用派生自
MWArray
.
0评论
接受的答案
托德·弗拉纳根
2020年10月29日
编辑:托德·弗拉纳根
2020年10月29日
这里有一个例子:
A.i1 = 1.0
a.i2 =“字符串”
foo ()
和生成的Java方法:
公共fooExample() {
MWStructArrayaIn = null;
MWArrayaIn_i1_1 = null;
MWArrayaIn_i2_1 = null;
对象[]results = null;
试一试{
//实例化aIn结构中的数据
double aIn_i1_1Data = 1.0;
aIn_i1_1 = new MWNumericArray(aIn_i1_1Data, mwclass . double);
字符串aIn_i2_1Data =“字符串”;
aIn_i2_1 = new MWCharArray(aIn_i2_1 data);
//实例化结构aIn并设置内部数据
int[] aInDims = {1,1};
字符串[]aInFields = {“i1”,“i2”};
aIn = new MWStructArray(aInDims, aInFields);
aIn.set (“i1”, 1, aIn_i1_1);
aIn.set (“i2”, 1, aIn_i2_1);
results = class1Instance.foo(aIn);
}抓(例外e) {
e.printStackTrace ();
}最后{
//处理本机资源
MWArray.disposeArray (aIn);
MWArray.disposeArray (aIn_i1_1);
MWArray.disposeArray (aIn_i2_1);
MWArray.disposeArray(结果);
}
}