Main Content

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.

Uso de objetos de Handle enMATLABJava

Controlar objetosMATLAB

objetos de identificador son instancias de la clase.MATLAB®handle El acceso a los objetos de identificador permite establecer los valores de las propiedades públicas en esos objetos.MATLAB Por ejemplo, todos los objetos de interfaz de usuario y gráficos son objetos de identificador.MATLAB

ClaseJavaHandleObject

Utilice la clase para representar los objetos de identificador devueltos a.com.mathworks.matlab.types.HandleObjectMATLABJava® Puede pasar la instancia solo a la sesión en la que se creó.HandleObjectMATLAB No se puede construir un in.HandleObjectJava

Establezca propiedades de objetos gráficos desdeJava

La función devuelve los objetos de identificador que hacen referencia a las líneas del gráfico.MATLABplot Utilice estos identificadores con la función para modificar la apariencia del gráfico cambiando las propiedades de las líneas.set

Este ejemplo ejecuta las siguientes llamadas de función en:MATLAB

% Create a 2-by-3 array of doubles data = [1,2,3;-1,-2,-3]; % Plot the data and return the line handles h = plot(data); % Set the line width to 2 points set(h,'LineWidth',2); % Pause for 5 seconds, just to see the result pause(5)

El código utiliza estos pasos para provocar la ejecución del código como se describe:JavaMATLAB

  • Cree una matriz 2D llamada.doubledata

  • Convertir la matriz a un así interpreta la matriz como un argumento a.dataObjectMATLABplot

  • Devuelve la matriz con los identificadores de línea.HandleObjecthMATLAB

  • Llame a la función para establecer la propiedad de los identificadores de línea en 2,0.MATLABsetLineWidth Convierta el nombre de la propiedad de a a a porque la función requiere que los nombres de propiedad sean matrices.LineWidthStringchar[]setMATLABchar

  • Pausa durante segundos y luego cierra el motor.5MATLAB

import com.mathworks.engine.*; import com.mathworks.matlab.types.*;  public class PassHandleObject {     public static void main(String[] args) throws Exception {         MatlabEngine eng = MatlabEngine.startMatlab();         double[][] data = {{1.0, 2.0, 3.0}, {-1.0, -2.0, -3.0}};         HandleObject[] h = eng.feval("plot", (Object) data);         String lw = ("LineWidth");         eng.feval(0, "set", h, lw.toCharArray(), 2.0);         eng.eval("pause(5)");         eng.close();     } }

Temas relacionados