主要内容

使用MATLAB处理对象Python

这个例子展示了如何从MATLAB中创建一个对象®句柄类并在Python中调用它的方法®

在当前文件夹中,创建一个MATLAB句柄类的文件名为Triangle.m

classdef三角形<处理属性(SetAccess = private) Base = 0;身高= 0;结束方法函数TR = Triangle(b,h);TR.Height = h;结束函数a = 0.5 .* TR. base .* TR. height;结束函数setBase(TR,b) TR. base = b;结束函数setHeight(TR,h) TR. height = h;结束结束结束

启动Python。创建一个三角形处理对象并调用它区域方法与引擎。传递句柄对象作为第一个位置参数。

导入matlab。engine eng = matlab.engine.start_matlab() tr = eng.Triangle(5.0,3.0) a = eng.area(tr) print(a)
7.5

复制tr到MATLAB工作空间。您可以使用eval从工作空间访问句柄对象的属性。

eng。工作空间["wtr"] = tr b = eng.eval("wtr. base ") print(b)
5.0

改变高度setHeight方法。如果您的MATLAB句柄类为属性定义了get和set方法,那么您可以不使用MATLAB工作区访问属性。

eng.setHeight(tr,8.0,nargout=0) a = eng.area(tr) print(a)
20.0

请注意

三角形类对象tr,是对象的句柄,而不是对象的副本。如果您创建tr在函数中,它只在函数的作用域内有效。

另请参阅

|

相关的话题