MATLAB®结构包含数据并使用字段名引用它。每个字段可以包含任何类型的数据。MATLAB代码使用该形式的点符号访问结构中的数据structName.fieldName
。该类的MATLAB结构是结构体
。
Java®com.mathworks.matlab.types.Struct
类使您能够:
创建一个结构体
然后传递给MATLAB。
创建MATLAB结构体
并返回到Java。
的com.mathworks.matlab.types.Struct
类实现java.util.Map
接口。属性的映射、键或值不能更改结构体
返回自MATLAB。
结构体
来MATLAB函数MATLAB集
函数设置MATLAB图形对象的属性。在一次调用中设置多个属性集
,使用MATLAB很方便结构体
。定义这个结构体
使用与要设置的属性名称匹配的字段名。字段引用的值是分配给属性的值。
这个示例代码执行以下步骤:
MATLAB开始。
向MATLAB传递一个双数组情节
函数。
将MATLAB句柄对象返回给Java作为com.mathworks.matlab.types.HandleObject
。
创建一个com.mathworks.matlab.types.Struct
使用属性名和值。
创建一个MATLAB图形并显示它5
秒。
通过HandleObject
和结构体
到MATLAB集
函数使用函数宏指令
。这个函数改变绘制数据的颜色和线宽。
将情节导出到jpeg
文件命名myPlot
并关闭发动机连接。
进口com.mathworks.engine。*;进口com.mathworks.matlab.types。*;public class CreateStruct {public static void main(String[] args)抛出异常{MatlabEngine eng = MatlabEngine. startmatlab ();Double [] y = {1.0, 2.0, 3.0, 4.0, 5.0};HandleObject h = eng。函数宏指令(“阴谋”,y);eng.eval(“暂停(5)”);Double [] color = {1.0, 0.5, 0.7};Struct = new Struct("Color", Color, "LineWidth", 2);eng。Feval ("set", h, s); eng.eval("print('myPlot', '-djpeg')"); eng.close(); } }
MATLAB轴
函数为图形创建坐标轴并返回句柄对象引用。MATLAB得到
函数,当用一个输出调用时,返回一个MATLAB结构体
图形对象的属性。
这个示例代码:
创建MATLAB图形对象并将对象句柄返回为HandleObject
。
创建一个MATLAB结构,其中包含图形对象的属性和值,并将其作为结构体
。
属性的值字体名
属性中的结构体
。
属性的值字体名
键,它抛出一个Un金宝appsupportedOperationException
因为结构体
是无法改变的。
进口com.mathworks.engine。*;进口com.mathworks.matlab.types。*;公共类GetStruct{公共静态void main(String[] args)抛出异常{MatlabEngine eng = MatlabEngine. startmatlab ();HandleObject h = eng.feval("axes");Struct s = eng。函数宏指令("get", h); Object fontName = s.get("FontName"); System.out.println("The font name is " + fontName.toString()); try { s.put("FontName", "Times"); }catch(UnsupportedOperationException e){ e.printStackTrace(); } eng.close(); } }