What command can I issue to list my custom enumerations which are currently residing in Matlab?
9 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Eric Bender
am 8 Dez. 2014
Kommentiert: Eric Bender
am 20 Okt. 2015
I have an M-File containing the definitions listed below. I run this M-File so that the enumeration definitions become available to Simulink.
Simulink.defineIntEnumType('engine_state_T', ...
{'ENGINE_IN_STOP','ENGINE_IN_CRANK','ENGINE_IN_STALL', 'ENGINE_IN_RUN', 'ENGINE_IN_AUTOSTOP'}, ...
[0,1,2,3,4])
Simulink.defineIntEnumType('vehicle_state_T', ...
{'VEHICLE_IN_STOP','VEHICLE_IN_CRANK','VEHICLE_IN_STALL'}, ...
[0,1,2])
I want to issue a command from within one of my scripts, much like I do for getting the workspace objects ('who'), so that I can get a list of these enumerations. My script knows nothing about this M-File and simply needs to find the enumeration names that are defined (engine_state_T, vehicle_state_T, etc.)
0 Kommentare
Akzeptierte Antwort
goerk
am 20 Okt. 2015
A little bit late, but maybe you are still looking for something. I use the following code to get an overview of the defined enumerations.
EnumClassSimulink = meta.class.fromName('Simulink.IntEnumType');
SimulinkClassList = EnumClassSimulink.getAllClasses;
nofClasses = length(SimulinkClassList);
for i=1:nofClasses
if SimulinkClassList{i}.Enumeration
disp(SimulinkClassList{i}.Name)
memberList = SimulinkClassList{i}.EnumerationMemberList;
for j = 1:length(memberList)
disp([ ' ' memberList(j).Name ]);
end
end
end
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Simulink Functions finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!