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句柄对象作为com.mathworks.matlab.types.HandleObject
.
创建一个com.mathworks.matlab.types.Struct
使用属性名和值。
创建一个MATLAB图形并显示它5
秒。
通过HandleObject
和结构体
MATLAB的集
函数使用函数宏指令
.这个函数改变绘制数据的颜色和线宽。
将plot导出到jpeg
文件命名myPlot
并关闭引擎连接。
进口com.mathworks.engine。*;进口com.mathworks.matlab.types。*;public class CreateStruct {public static void main(String[] args) throws Exception {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 s = new Struct("Color", Color, "LineWidth", 2);eng。函数宏指令(“套”,h, s); eng.eval("print('myPlot', '-djpeg')"); eng.close(); } }
MATLAB轴
函数为图形创建坐标轴并返回句柄对象引用。MATLAB得到
函数,当调用一个输出时,返回一个MATLAB结构体
使用图形对象的属性。
这个示例代码:
创建一个MATLAB图形对象并返回对象句柄HandleObject
.
创建一个MATLAB结构,其中包含图形对象的属性和值,并将其作为结构体
.
的值字体名
财产的结构体
.
试图改变的值字体名
钥匙,这就Un万博1manbetxsupportedOperationException
因为结构体
是无法改变的。
进口com.mathworks.engine。*;进口com.mathworks.matlab.types。*;public class GetStruct {public static void main(String[] args) throws Exception {MatlabEngine eng = MatlabEngine. startmatlab ();HandleObject h = eng.feval("axes");Struct s =函数宏指令("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(); } }