Cómo crear tipos de enumeración en MATLAB
classdef (Sealed) Colors
properties (Constant)
RED = 1; p>
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