Esta página aún no se ha traducido para esta versión. Puede ver la versión más reciente de esta página en inglés.

Utilice manipular objetos enMATLABPython

En este ejemplo se muestra cómo crear un objeto a partir de una clase de identificador y cómo llamar a sus métodos.MATLAB®Python®

En la carpeta actual, cree una clase de identificador en un archivo denominado.MATLABTriangle.m

classdef Triangle < handle     properties (SetAccess = private)         Base = 0;         Height = 0;     end          methods         function TR = Triangle(b,h)             TR.Base = b;             TR.Height = h;         end                  function a = area(TR)             a = 0.5 .* TR.Base .* TR.Height;         end                  function setBase(TR,b)             TR.Base = b;         end                  function setHeight(TR,h)             TR.Height = h;         end     end end 

Empezar.Python Cree un objeto Handle y llame a su método con el motor.Trianglearea Pase el objeto Handle como primer argumento posicional.

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

Copiar en el espacio de trabajo.trMATLAB Puede usar para tener acceso a las propiedades de un objeto de identificador desde el área de trabajo.eval

eng.workspace["wtr"] = tr b = eng.eval("wtr.Base") print(b) 
5.0 

Cambie la altura con el método.setHeight Si la clase de identificador define los métodos GET y set para las propiedades, puede tener acceso a las propiedades sin usar el área de trabajo.MATLABMATLAB

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

Nota

objeto de clase, es un identificador para el objeto, no una copia del objeto.Triangletr Si crea en una función, sólo es válido dentro del ámbito de la función.tr

Consulte también

|

Temas relacionados