Red de conocimiento informático - Material del sitio web - Cómo crear tipos de enumeración en MATLAB

Cómo crear tipos de enumeración en MATLAB

1. Puede utilizar la nueva clase de MATLAB para obtener la función:

classdef (Sealed) Colors

properties (Constant)

RED = 1;

VERDE = 2;

AZUL = 3;

métodos finales

(Acceso = privado) privados por lo que no se pueden crear instancias

function out = Colors

end

end

end

Este no es un tipo real, sino porque MATLAB es débilmente escrito, si es un número entero, puedes hacer algo para aproximarlo:

line1 = Colors.RED

...

if Colors.BLUE = = línea1

end

En este caso, las "enumeraciones" de MATLAB están más cerca de los números enteros de enumeración de estilo C que de la sintaxis.

Con MATLAB puedes incluso acercar la complejidad de la enumeración a Ada, pero desafortunadamente usa la sintaxis awk.

2.

A partir de R2010b CodeGo.net, se admite MATLAB

Comience con ejemplos

Colores de classdef

Propiedades

R = 0

G = 0

B = 0

fin

Método

función c = Colores(r, g, b)

c.R = r.G = g.B = b

fin

final

Enumeración

Rojo (1, 0, 0)

Verde (0, 1, 0)

blue(0, 0, 1)

end

end

3. Puedes enumerar desde el código Matlab el tipo Java.

//Definición de clase Java

prueba de paquete

enumación pública ColorEnum {

ROJO, VERDE, AZUL

}

Puede hacer referencia a ellos en código M de las siguientes maneras.

micolor = test.ColorEnum.RED

if micolor == test.ColorEnum.RED

disp('got red');

else

disp('got other color');

end

Utilice ordinal() para obtener una primitiva que pueda usarse en declaraciones de cambio

cambiar mycolor.ordinal

caso test.ColorEnum.BLUE.ordinal